So when is a good time to outsource a function of IT? I think anyone who has received a call from a Managed Services Company has asked that question of themselves. Some companies absolutely refuse to outsource any function of IT. Others I have seen maybe outsource too much. Like anything I don't think there is a clear cut answer. It will depend on the talents of your staff. If your staff is really good at break fix work then higher end functions like firewall management and security should be outsourced. Conversely if your staff is more skilled in the higher end functions than please get the break fix work off their plate. It is unwise to try and do all the work in-house if your staff doesn't possess the appropriate skills.
Please do not take this as a criticism of anyone's skills or knowledge level. God knows I am not the one to do a lot of jobs in this world no matter how much I want to. Knowing the limits of your IT team is how you can lead them to what they really want to do. People naturally gravitate towards their skill set anyway. It is the job of the leader to keep the on that path. And outsourcing certain functions of your department is the only way to lead the organization down the correct path.