I've done an Ice, psychic, poison, and dragon monorun of this game and the hardest gym leaders for me are Marianette, Crawli, and Souta.
Marianette's pokemon were insanely difficult to knock out as some of my pokemon weren't evolved yet and couldn't hit hard or take hits (especially Snuggles)
Crawli is just free sticky webs that makes all of his mons outspeed mine (-2 speed under his field)
Souta is just broken because of his field.. Tailwind lasts for 8 turns, his mons having a bit more bulk because of the field (Strong winds, Big Pecks and Multiscale), and Sky Attack hitting in 1 turn and Hurricane having 100% accuracy. His field benefits flying types in both offense, defense, and speed