All of the champions are pretty badass, so I decided based on who I had the most fun fighting. Keep in mind that I haven't played R/S/E to the end.
Lance was easily the hardest and most fun fight for me. His Gyarados, Charizard, and Aerodactyl are tough but really just filler. No the true fight is against his three illegally leveled Dragonites. From the moment he summons one of the two 47s you're treated to a devastating array of Twaves and the elemental explosions with the occasional ultra-powerful hyper beam thrown in. When you're not using ice moves against them(I wasn't, thank you very much) they can cause massive damage to your team and pave the way for his Lvl. 50 monstrosity. That's another thing Lance does that makes him difficult, team play. His two Lvl. 47s are there to wittle your team down so that the Lvl. 50 has a clear field for sweeping. It's a concept still used in the modern metagame. When his Lvl. 50 Dragonite does come in, well let's just put it this way, he killed my Suicune with a single outrage. NUF' FREAKIN' SAID FEMALE DOGS!