I have done a mono-type run at one point, but without being precisely aware, so to speak.
When I had first played Pokémon Ruby version, Blaziken and Camerupt were the only two team members I had found myself relying on while battling, and have solely used them until after defeating Steven, the champion. It wasn't too difficult, to be honest; they were rather great, and have been able to carry matches without any sort of trouble at all. All I had to do was make sure they were at a decent level, which they were.
Intentionally, however, I don't believe I have done it before, sadly. I was planning to go through one, but have never managed to get around that. Hopefully, I will at some point in future. I'm not exactly sure which game to go with, though... right now, all I could think of right now is Emerald. It's one of my all-time favorites, and it's not too difficult to access, either (could be played via emulator from almost any device).