It always depends on the situation. In most of the cases, if these functions don't have the connection with the main field of your business and it's just needed to be done, it's always better to outsource. You are definitely saving time and money because time is money actually. Just imagine how much resources your company would spend on trying to find a person inside the company, who's able to do it, or find and hire one, and then he might need time to learn, adapt to a new work etc. Looking for an outsource team also requires time and money, but, trust me, in a long perspective it's much less than doing it by yourself.
Of course, it will provide greater efficiency for your business. While another company is responsible for some of your company's functions, you can focus on more important stuff.
I think it won't impact your staff a lot. They would just need to communicate with the outsource team sometimes. And if this team is really good and experienced, you just trust them and do their job without interrupting you a lot.
I hope this will help! In any case, you can google your question
1. Are there certain functions that require an investment outside your core business?
2. Will outsourcing provide greater focus or efficiency as the company grows?
3. What will be the immediate and ongoing impact on the staff?