Define casetype's ownership. Each casetype has a pre-defined ownership for the case's processing of a specific type. This is normally a person or a team. Does a case has a certain classification, then the ownership is assigned automatically to that person or team by the system. Thus, responsibility for cases are assigned in context always.
I know the Owner
When I know the person to whom I want to send the case, thus making the receipient the owner for the case processing, then I can do that using the adressbook or just type in the name of that person.

It is guaranteed by the system, that only people in the current network can receive the case.
Don't know
When I have no idea who is responsible for the case, I can classify the case as much as possible and send the case.

A casetype can include, that you are not capable to classify completely, i.e. define a casetype with a business class 'other'. Even here, you could assign a specialist or team, who takes care for this casetype and forwards the case for processing to the right people.
The Teambox
Responsibility for casetypes can be assigned per default to a teambox.

In fact, this is what normally happens, because then you can be sure, that somebody of the team is present and takes care for the case's processing.

People assigned to a teambox can accept the ownership of a case and start working on it.