I personally feel that pre-game chat should be part of the Tribunal chat logs. This will allow a LOT of issues to be rectified by a system which is already in place. A new system is not necessarily required when you already have the Tribunal.
However, I do like the idea of a "dungeon finder" type setup. No matter what people say or want to say, there is a meta, and there is a meta for a reason. More often than not, the meta is what works best, and that is why it's used. If you want to do non-meta activities, play normal games.
That being said, the "meta" as we know it would be the inspiration for the match finder tool, and we all know what champions fall under which roles. Ezreal, no matter how hard you want to argue it, is not an ideal support. Champions like Leona, Taric, Sona, Nunu, Soraka, etc. are go-to supports. If a player picked support as their role when they queued, they should be restricted to picking champions that they own which fall under SUPPORT roles. There is no reason to "queue as a support" only to be able to access all your favorite AD Carries.
To encourage players to queue also for roles they don't necessarily prefer, there could be a tier system. My first choice is Top lane, my second choice is Mid lane, if I cannot possibly have this, I want ADC, and if I can't have that, I guess I'll do Support. Should I get stuck with support ultimately based on a queue-line system, I might receive a small (mostly negligible) bonus reward for playing that role if we win the game. If we lose, I lose the same amount I would otherwise.
We have 5 players in queue. Player 1 began his matchmaking search before Player 2, whose search began before Player 3, and so on.
Player 1's role preference: Mid, Top, Jungle, ADC, Support
Player 2's role preference: Mid, Jungle, ADC, Support, Top
Player 3's role preference: Top, ADC, Mid, Support, Jungle
Player 4's role preference: ADC, Top, Support, Jungle, Mid
Player 5's role preference: Mid, Jungle, ADC, Top, Support
These players end up on the same team and are assigned roles as follows...
Player 1 -- Mid (He receives standard gains from winning because its his first choice)
Player 2 -- Jungle (He receives 1% more gain from winning due to being his 2nd choice)
Player 3 -- Top (He receives standard gains from winning because its his first choice)
Player 4 -- ADC (He receives standard gains from winning because its his first choice)
Player 5 -- Support (This man receives 5% more gain from winning due to it being his last choice)
The point of this system being that you don't get to choose you don't want support. You simply place support where you want it in your list of preferences. If support is your least favorite role, its at the end, but that doesn't mean you will sit in queue forever because every game is requiring a support and no one wants to support. YOU WILL support if there is no one else available for the sake of games needing to be match made (2 hour queues anyone?) but the fact is because its your least preferred role, you get 5% more of a reward due to that fact if you should win. That gives me incentive to play harder in my support role, to get that bonus reward, and it also allows matchmaking to continue without being held up from lack of supports or jungles.
Whether this is a good idea or not -- who knows. I just wanted to share my 2 cents and let people think about this in possibly a different way. I am quite happy to see RIOT trying to do something to the system.
EDIT: There should be a way to swap roles pre-game though. I have seen a lot of people have no problem at all giving up their role to someone else simply because they asked nicely. Just like champion swaps occur, role swaps are necessary.