Just how we are working it in our organization.
We considered having one user per queue, but since our practices are more geared toward teams, we opted for separate queues for those different processes. It also allows for reporting on issue types. For example, we have queues for Login and Access Rights, Printing, Phone/Fax Issues, etc. Under the Websites queue, we created several sub-queues labeled by the particular web service (www.xxx.com, www.yyy.com, etc.) so that developers could track time spent for each separate business unit (each business unit has their own websites).
With the mechanism above, I can assign multiple agents per queue. All agents are notified when a ticket arrives in their queue. The first one to open it is assigned the ticket. They can assign it to a different agent, but it is tracked that they saw the issue and passed on it. This enables us to reliable monitor ticket flow and where we need to focus on training.
There is one major queue that overrides all others. That queue is monitored by my Level I to Level III support team when time permits. They perform triage on all tickets and assign them to the proper queues. End users can also select their own queue, but they seldom go that extra step.
Hope this helps give you some ideas.
Marty