I'm gonna have to go with Pikachu, it isn't really fair though, they're both excellent Pokémon, it's have Pikachu just had more experience with Ash. From what I've seen of Snivy, I really love her, shes a tough opponent when it comes to battling, shes pretty much a very graceful Pokémon. Her rivalry with Emonga seems a little interesting if you ask me. But yeah, like I mentioned before, Pikachu has just had much more experience with Ash, it's a great battler (when it doesn't get those damn so called level resets) and overall a pretty kind and caring Pokémon.
tl;dr - Pikachu