There aren't levels in the anime. Levels, EVs, and stats are put in the game to have some solid gameplay. The pokemon in the anime have general tendencies, like Umbreon being very defensive, but Remember that the pokemon can be fairly strong too. If ash Beat the gym leaders as easily as you could in the games, the show would be even more boring, and the gym leaders wouldn't seem all that much of a threat. He may have lost to a Snivy or the gym leaders, but think about what else it has done. It's taken out things like Dragonite, Golem, Machamp, and was an even match for a Latios.
There's no complete consistency. They only made it lose to Snivy to give ash a sense of rivalry (once again, another tired, overused theme in the show) against this new guy. I don't watch the anime, but I can tell you he'll win by one pokemon at the pokemon league.
In short, the anime and the games are two different things, each with their own system of what's "good" and what's not. Ash would be a pretty crappy trainer by video game standards, but for the anime, the system by which he should be measured, he's actually really good.