We have lots of specs that might be considered counters when played by a skilled opponent, they are:
- Enhancement Shaman
- Unholy DK
- Feral Druids
- Affliction Locks
- Frost Mages
Played well any of these classes, at equal skill and gear, should beat us more often than not. There are definitely classes that Shadow is consistently strong against too, but that's just how the game works.
The common misperception that Shadow might be overpowered is caused by the convergence of two events, the first is in patch 3.3 resilience got a massive buff, which has the largest effect on classes that wear the most resilience - priests being a strong contender if not the leader - this cause Shadowpriests to jump from free kills to real threats, since an increase in our resilience also increases the benefit from VE survivability since it means we last longer and thus VE ticks more.
The second event was that because the existing shadowpriest community prior to 3.3 had grown accustomed to our fragility we had developed a playstyle of constant defense and evasive play - dot kiting and blowing cooldowns at the first sign of danger before running for cover. Combined with our new survivablity this meant shadowpriests could do this much more effectively, and quickly we may seem overpowered. However, I have both a geared spriest and a geared lock, and if I play my lock like I do my priest - I assure you, you would sooner call my lock OP than my priest.