1st Gen: Venusaur. Able to do damage and hold its ground simultaneously. Charizard can do damage(lol), but it lacks the ability to live. Blastoise is a good Tank, but it can't do a lot of damage. Venusaur can do both. And, apart from Sleep Powder, it's pretty unpredictable. Once you've figured out what it's doing, you've probably 2+ Pokémon to it.
2nd Gen: Meganium. It has good Offenses, excellent Defenses, and usable Speed. It has the movepool to take advantage of those Stats, Offensive or Defensive. Typhlosion can Sweep quite well, but there are better Fire Types. It comes in a close second, though. Feraligatr, ignoring its awesome design, isn't the best Sweeper. No Physical STAB, and rather low Sp. Defense and Speed Stats hurt it.
3rd Gen: Swampert, though this is a hard decision. But in the end, Swampert's excellent staying power, one weakness, good movepool, and passable Offenses are just too good to pass up. Sceptile and Blaziken are both brilliant, though.
Grass: Meganium, but only marginally. Sceptile is in no way weak, but it doesn't have the ability to survive major blows. Venusaur is only a little less usable than Meganium, if at all.
Fire: Blaziken, for versatility purposes. This Pokémon can rip through opposing teams with no effort at all, thanks to its wide, wide movepool and excellent Offensive Stats.
Water: Swampert. Feraligatr isn't all that usable. Blastoise is decent, but it's outclassed by Suicune and Milotic, both of which are capable of taking damage and dealing some back. Blastoise can only take it. Swampert, though, is difficult to defeat and capable of destroying teams.
Overall: Swampert, most likely. Like I said, it's terribly to take down, and perfectly capable of ripping apart nearly any Team.
~*CB*~
The 8th Champion