Well...as far as my favorite goes...
It's gotta be the Charmander family. I actually got into the card game before anything else, and Charmander was my first card. Then when I got Red Version I chose him as my starter, and...yeah.
[nerd=activated]
Now as far as the best from the first three generations, you really have your pick of a couple of legendaries. It comes down to how you like to play the game. Best all-around stats would probably be a tie between Lugia and Mewtwo, depending on if you like Attack or Defense more.
Of course, Deoxys' forms focus on different stats, so you have your choice there (oddly, his normal form isn't that great at anything besides attack).
Also, you have Rayquaza who is a fantastic attacker, but lacks defense and takes 400% damage from Ice-type attacks.
But when it really comes down to it, if you don't like Lugia or Mewtwo, there's always Groudon and Kyogre. Both have pretty decent all-around stats (Groudon is more Attack and Defense and Kyogre is more Sp. Atk and Sp. Def) and only one type, which is more advantageous to them given their moveset.
Having said all that, the best all-around Pokémon from any generation is, hands down, Arceus. Base 120 on all stats, and one of the best movesets in the game. Sorry guys, but he just can't be beat
Now this looks like I've just chosen legendaries, but they're the best for a reason: they're legendary. There are a lot of other good Pokémon out there, but if you want the best, that's my two cents. Now, me personally, I don't use legendaries unless I'm battling someone that is. But if not, you can really build a great team from a bunch of different choices (I mean, common, there's 649!). If you have a good team with varied types, you'll be a formidable opponent

[/nerd]