I'd say in terms of variety between heroes in a category, defense has the most. None of the defense characters play anything like each other, besides the two snipers (and they're still fairly different). The offense heroes are fairly varied, sure, but they're still the most basic role in the game: kill da bad guys. Unfortunately, they're also what most new players in every pub immediately gravitate toward, whether that character is good for the comp, map, or if there are already 3 damage characters on the team and no tanks. Maybe I'm biased as a tank main, but seeing more offense characters just makes me think of more people locking in as characters they don't know, and standing behind my shield without shooting, then getting killed needlessly. The offense characters we have are varied and interesting, we don't need more. We need tanks, defense characters, and supports that aren't healers. Then we can add more offense heroes. Currently they're the largest category, and frankly, the least important to a good team composition. In many cases, you can have one or two offense characters and be completely fine, and on defense there are certain comps that can run with ZERO offense characters (which shouldn't be a surprise considering the name of the role). I just think Sombra would be more interesting as a support that isn't a healer, like Symmetra. Don't get me wrong, a good offense player who knows what they're doing is invaluable, but these days I just hope for an offense teammate that isn't absolutely terrible, because I'm so used to getting "pro Genjis" on my team. What's more valuable to me is a good support player, or a good Junkrat. I feel like OverWatch in general caters to gamers that aren't used to gaming (certain audible cues that are far too obvious like footsteps, and the overly simplistic UI), and those gamers are usually going to play offense characters. Adding more offense characters when that's the most fleshed out category that needs the least work when supports, defense characters, and tanks could all use some help just makes me feel more like Blizzard isn't focusing on the health of the game and is instead focusing on drawing in new players rather than trying to keep their current playerbase. I know that's not the intent, but they haven't done a lot lately to make me feel otherwise.
Also, I have a lot of problems with Sombra's kit that I haven't said here, because she's not out yet and I'll reserve my final opinion until I've played against and as her in-game, but something I'm very concerned about it counterplay, specifically with her cloak. You see, the Spy's cloak in TF2 disables attack when in use, and makes you momentarily flash when bumping an enemy or taking damage. Sombra's cloak is instantly disabled when you attack, use an ability, or take damage. There is a big problem with this, however. Sombra's cloak seems weaker, but it's actually stronger according to the current definition. You see, Sombra can supposedly attack to break her cloak, with no prior warning or time penalty. Just, out of the blue, you have an automatic pistol all over you. At least the Spy in TF2 has to take a second to de-cloak, and it makes a sound when he does. He can't just backstab someone from cloak and then lose his cloak when he backstabs someone, there's counterplay. You listen for the de-cloak, forcing spies to come out of cloak from further away or while another loud sound is masking their de-cloak. Sombra can just appear and tear you to shreds with no counterplay, as far as I can tell from her current kit. It seems like a small thing, but this isn't the only example of how OverWatch really doesn't seem to encourage counterplay as much as they encourage counter-picking. There are a lot of things in the game that aren't countered by using a specific strategy, but are rather countered by picking a different character. I'd like to play a skill-based shooter that encourages me to use skill to outplay my enemies, not just play rock-paper-scissors with heroes. The ability to change characters mid-match freely discourages Blizzard from balancing characters to be effective in multiple situations and allows them to make characters that are very situational (such as Symmetra in her current state) and is the reason that offense is called "offense" and not "damage." It's a personal gripe I have with the game's direction, but I feel that, for me personally, it should've been a no-brainer when it came to things like the 1-hero limit in comp (it should've been in at launch considering how much people asked for it during the beta), or hero switching limits (which, obviously, are not in the game at all). It turns your decision making away from "I like this character, so I'll play them" and turns it toward "well, this character is only really good in this one specific scenario against these specific heroes, so even if they're fun, I won't play them." It's entirely a subjective opinion on what I think the game should be aiming for rather than what it is, but adding more offense characters when they're the category that needs new characters the least is just one more thing that bothers me about the game.
Sorry for the long reply, I had a lot to get out.