Top ten, eh? Hard to really decide. Do you judge by aesthetics, by functionality, or by a mixture of both?
1 - Roserade. I just love, love her design, and I have no idea why. But she looks awesome, and can kick some serious ass.
2 - Azumarill. Such a cute pokemon, so unassuming...until he starts hitting you with STAB Aqua Jets with higher attack strength than most legendaries. Everyone underestimates him, but he has good defense and has roughly equivalent attack to Rayquaza when trained properly. Just an awesome little guy.
3 - Vaporeon. The best of the Eeveelutions, though Jolteon is damn close. I've always loved Vaporeon, but mine actually has his own story going on. I was breeding Timid Wish Eevees for the hell of it one day on my Diamond cartridge. I decided to make one of the better ones into a Vaporeon. I EV trained it, but never got the chance to really use it. After SS came out, I Master Balled a good Zapdos, ground out the points to teach it Heat Wave, then traded it over to my Diamond file with the rest of my bred and EV trained guys. Circe came over, since he wasn't seeing any action. The next day, my Diamond cartridge feel out of my hoodie pocket when I was running to catch a bus home for Spring Break. Circe ended up leading my team to victory as the sole survivor from my Diamond game against the rest of Kanto, and almost single handedly beat Red in his mid 50s.
4 - Toxicroak. Cool typing, flexible movepool, and is just such a badass overall.
5 - Mienshao. So many people just say to use your favorites, but sometimes it just works the other way around. I liked Mienshao well enough from the beginning, but for some reason, I decided that she would be the first gen V pokemon I would breed. And holy shit, did I make the right call. Fake Out and U-Turn are just hilarious with Life Orb and Regenerator...or I can just apply a STAB HJK directly to the face. She's become a permanent fixture of my team. So frail, yet so hard to catch.
6 - Blastoise. Still the coolest starter, even if he's not the strongest by any means.
7 - Slowbro. Another example of a pokemon I liked becoming a pokemon I love due to being awesome in battle. Regenerator is ridiculously awesome on this guy, and makes him so fun to use. Switch in, take a resisted hit. Take a super effective hit (but surviving), T-Wave. Switch out, and suddenly you've got the upperhand, and can just come in later to Slack Off back to full. She just works so well, and makes such an awesome Regenerator tag team with Mienshao. Plus her movepool is so varied. Heals, status, Calm Mind, a surprisingly varied attacking moveset...did you know that Slowbro can learn Flamethrower and Fire Blast? Such a fun tank to use, and has quickly become the other permanent fixture of my team. If you couldn't tell, I'm a bit of a suck for water types.
8 - Jumpluff. I love trickster pokemon. Possibly the cutest pokemon ever, but deceptively effective. Encore, status moves, Leech Seed, and does it all with style and speed. Not the greatest pokemon ever, but just so fun to use.
9 - Gengar. The original ghost. Stlll powerful, but has a trickster aspect about it at the same time. What is it going to do? Set up a sub? Just go right for the throat with its power and movepool? Disable the one move you have that can actually hit it? Put you to sleep? Then when all's said and done, and you think Gengar's just done for, time to finish it off...nope, Destiny Bond. Just so much it can do.
10 - Yanmega. Bug types are awesome, and Yanmega has two of the coolest abilities in the game, and the power to put them to use. Tinted Lens Bug Buzz just cuts through so much, and catches people by surprise. Love this guy.
Honorable mentions: Omastar, Mismagius, Jolteon, Venusaur, Hypno, Cinccino and many others I'm sure I'm forgetting. Why I guess you could argue that they shouldn't be on this list if I can't remember them immediately, there's 649 to remember.