Alakazam is not overrated. You bring it in when the opponent has already taken some damage and finish it off, or predict a switch and use a move that will do alot of damage to the Pokémon switching in. That, or you switch it in on a support move such as Swords Dance, Calm Mind, Wish etc, Encore and start buffing it up with Calm Mind. None of the OU Pokémon are overrated, you just need to know how to use them.
The fact that every Pokémon can be countered does not make them overrated. But how are you going to get in your precious Medicham on any of them without it taking some serious damage or fainting? You'll have to switch it in after your previous Pokémon fainted, which means your Medicham will just be evening the score if your opponent is too stupid to leave Garchomp, Alakazam or Lucario in against your Medicham.