When approaching public agencies, I hear this all the time: that their accounting shows that it is cheaper to do tasks themselves than to use private sources for the same service. The problem is that government accounting systems are not set up to make this sort of decision well. Critical cost categories, from capital assets like trucks or equipment to insurance to building rent to employee benefits, often hit other budgets and are not included in the analysis. When a full-cost analysis is done, government in-sourcing seldom makes any sense financially.
The other argument I hear frequently is that government employees are bound to do a better job because they are motivated only by helping the public rather than by crass profit. But while individual government workers may have a gung-ho interest in public service, their agencies as a whole tend to have a different focus. Lack of competition, inability to fire poor performers, and few (or no) customer service metrics tend to lead to deteriorating service, as in this great example at the Washington Metro.
One example cited in this article is the decision by the Washington Metro to terminate its service contracts with private escalator maintenance companies and to bring escalator maintenance in-house, where it was said it could be done cheaper and better. There does not seem to have been any really good analysis on this point at the time of the decision, and one suspects this was more an accommodation to a public employees union eager to increase its membership base. But, for whatever reason the decision was taken, it has been a disaster: