Pyromancer fire dragon sorcerer etc. you also keep approaching this as if raw percentage of possible monsters a gm could use is equally as relevant as monsters commonly seen actually used in play, that's a bizarre bit of logic. The trouble with how you conceded is that you also did it in a way that implies swarms and such are going to be a significant percentage of actual encounters seen at the table with any regularity.
Here's the thing though, every game and every player's experience is different. I've faced lots of swarms (they suck in 3e) and my DM's often feel that the best solution to not having to explain a dungeon ecology is to fill it with constructs and undead. Adventures will use whatever critters make sense, and classic pre-written adventures tend to have a mix of monsters. So while you think swarms, constructs, and elementals are rare, they could be commonly used in a game.
Having those monsters exist as a flat-out bane to one class and not others is bad design, because even if there's an equal amount of critters that other classes are weak to, so as to give everyone and equal amount of spotlight time (and an equal amount of "trying to figure out how to be relevant time") you as designer have no idea what classes are in play. You can say "well, obviously the DM will balance this" but that's a pretty big ask, and it doesn't always happen in the wild. There's a reason they eventually made alternate class features to let you deal half sneak attack damage to these things- Penetrating Strike from Dungeonscape (though it requires flanking, which has it's own problems), Death's Ruin from Complete Champion (Undead only), spells like Golem Strike, Grave Strike, and Vine Strike (which our poor Rogue would have to have scrolls or wands for if he can't count on Mr. Wizard to save his butt, and assuming he could afford skilling up Use Magic Device), plus Greater Truedeath Crystals, Greater Demolition Crystals, and Deathstrike Bracers from the Magic Item Compendium (which presume that said book is in use, or that our poor Rogue can access/afford such).
So maybe in your experience there was value in the limitations on Sneak Attack, but I just didn't see it. It didn't help that Rogue also had no niche protection in 3.5, so you could easily replace one with a class that brought other kinds of utility to play, from Factotums to Skulks to Beguilers.