It depends on your business but in my experience, the best was to do a half and half model where some of it was virtual and some of it was onsite. After hours is something that costs effective outsourcing to a virtual company can be effective.
That really depends on their track record and their location.
Managed Services have been around an awfully long time...I was bizdev manager for a full service IT firm 10 years ago and the market was mature enough back then.
What's the purpose of your question? Are you looking for market validation? Looking for clients? Pain points? Feel free to edit your question if that's possible, or message me with more detail, and I can give you a more focused answer.
Any smart business owner who can find a reputable and reliable outsourcing service that saves them both time and money would hire such services.
Naturally there has to be caveats to this. Homework needs to be done on the company. Positive relationships need to be built and they have to be able to perfectly understand not just your needs but your company culture and aims.
If you're able to free up time to provide better customer service/find new clients and save money in the process the question would be why wouldn't you do it?
I've worked for a Managed Services Provider in the past and I can say that outsourcing your IT works well for companies with 100 employees or less who are basically centralized in one or two locations. Any larger employee base than that or multiple locations tends to pose logistical problems. MSP's (especially smaller ones) have difficulty servicing remote locations. Most times they are forced to contract out to freelance IT people and you never know who will show up at your doorstep to help "fix" your IT issues.