This generally would be a topic of high interest given the variety of factors involved. I lead business transformation engagements in a high-skill industry.
The points in your post are very relevant - skill is a major factor.
Then there is the availability of resources - understandably most organisations do not want to have underutilised staff on their payroll. So we have situations where we have the skill, but the resource is either not available or is only partially available.
For us, global mobility is third issue. We may have a resource with the requisite skill who is immediately available, but it would take 16-18 weeks to arrange for a work permit for an example project that's due to complete in 12 weeks.
Demand is usually for medium- and long-term projects (anywhere between 6 weeks to 3 years). We do have cases of resource-switching in the middle of engagements, but we have a strong enough process to handle such scenarios.
I am from a projectised organisation, myself - so a lot of the administration is handled by a central resource management group. Resources have adequate freedom to agree to or reject these projects, but they have to go through this central team.
We already do have a strong software solution that looks at a variety of aspects from resource availability, bench strength, time utilisation, expense management, and so on right through to invoicing and centralised PM reporting. So I personally am not seeing any gaps; but would be happy to elaborate more on the industry and some of the industry-practises, if required.