http://www.youtube.com/watch?v=IzH4tIKhGAY
This's why Clefable is at least high, ok, yes, it NEED's TM's, but she can handle almost anything on the complete game without any major trouble, it had the stats, it's available earlier on the game, it evolves really soon. So, come on, the unique thing that make Clefable not Top Tier is the fact that she needs the TM's to properly works, but if she can use them, she can solo the game without any trouble. Just keep her away from the rare Fighthing-Type Pokémon and you'll sweep a lot.
And even if you don't want to give her the necessary TM's, you can just give her a Mega Punch TM (best user of it so far, change it later for Strenght), spam Minimize/Defense Curl on any gym and you'll solo it without trouble, and on late game also use Light Screen for being almost invencible against special attacks. And she can also use Sing, too, for catch wild Pokémon and win some time on some battles.
Mid Tier with just Mega Punch.
High Tier with Mega Punch + Thunderbolt/Psychic/Fire Blast/Blizzard/Ice Beam
Add the facts of this quote, too:
I think you underestimate how much exp. matters. Clefable, being in the fast exp. track, can reach level 58 in the same amount of experience it takes the slow Gyarados to hit level 50. This means either (1) you run Clefable at a higher level than Gyarados and it thereby does more damage with Boltbeam or (2) you run everyone at the same level and Gyarados just brings the team down.
Gyarados is by other hand, High or Mid Tier, you need to grind that Magikarp a lot, and you'll not being able to properly use him on a Gym until you beat Erika (because you'll need an excesive grind to get it ready for Misty, so, nope, Lt. Surge? He'll massive destroy him. Erika will win almost any 1vs1 against Gyarados, too), so, it's a good and later great Pokémon, but it needs grind, and even then, he can't really sweep at all against a good number of Pokémon and gyms.