the only gym that I had hard moments was Tate and liza (emerald obvious) it´s not one pokemon, it was her strategy that it was hard.
but the hardest pokémon that I ever battled were 2:
1st starmie, the battle was starmie VS starmie, my one resisted with 23 HP, due to thunder bolt, then I countered with one T-bolt too, it didn´t fainted, then the oppponent used confuse ray I stayed confused then I saw that I had just 1 HP left! the next turn the starmie used T-wave then I finaly attacked it in the 3rd turn.
2nd: ludicolo
4 times, my team (all the 3) got KOed by one ludicolo in battle frontier, 3 of them were annoying (leech seed, toxic, leftovers, rain dish and surf) and the other had swift swim and T-punch, surf, ice beam, and rain dance.