We use a variety of options based on the situation but most automatic work is done in routing rules for us.
The majority of our tickets default to our helpdesk and they work the ones they can as 1st tier support, or sort them out individually to the other teams. We have a variety of specialized teams which a few are also cross trained with other teams. For this reason, only one of our ticket categories is restricted to a team and that's our DBA. Anything with a DBA category, goes to our DBA team. The rest of our categories can be used by any team.
There are a few requests, regardless of category, that can only be done by select teams so these catalog requests are routed through the routing rules based on which service catalog request is used. (Rule:: Service Request is "File Recovery" >> Action is " Assign to Team" - "Applied Tech Team")
Some requests we know in advance will require multiple teams, like our employee on/off boarding. These catalog requests are routed to the helpdesk who monitor the progress but other routing rules look for check marks within the catalog request and will assign tasks to respective teams when checked. Our onboard entry work as follows:
-The new employee entry is made
-The resulting ticket goes to the helpdesk by default
-Two tasks automatically go to our network for an account and our phones for phone setup. (This is done within the catalog entry creation)
-Routing rules checks the entry for certain check marks such as a new workstation being needed
-If new workstation is checked, routing rules requests approval from our hardware deployment board and a task for setting up a computer is assigned with a note to check for approval.
I'm sure other organizations are set up where certain teams only work certain categories but for us, routing rules and human routing work the best.