2/ Having 5 “mains” of the same type on a team - tank mains for example. You’re extremely hindered because they MIGHT have a perfect comp.
Even the worst implementation of a role-queue would address at least this, it’s the entire point
3/ People pick a decent team comp then switch off (usually to DPS) when the current DPS isn’t performing, and the comp suffers.
This happens anyway, role queue or not. It is up to communication to fix this issue, which we do (or don’t) all the time already. People who troll the system could be reported and they’d be banned from using it (regular matchmaking would still be available).
A hard role-queue wouldn’t work in my opinion either though, but a groupfinder/groupmaker could, with lobbies and everything. Playing DPS would involve long wait times, but if they figure out a way to play a match or two as support/tank while waiting, it’d be pretty cool. I think a way to do it would be to give you higher priority for getting a group as a low-demand role (dps), as you stack up games in high-demand role (support/tank) - a bit like how yeti hunt worked.