Depending on the needs and size of your company, this question can be very easy to answer, or very challenging. Based on varying factors, some companies choose to do it all in-house, some outsource it all to corporate training vendor, and the majority have a mix of both. When companies do outsource it, it is usually because of two reasons – they lack the internal resources and expertise to create the content, or their internal team does not have the bandwidth to take on more work.
Here are some of the main reasons that companies outsource their corporate training to a vendor:
Expertise – a specialized firm will be up to date on the best ways to deliver your content and come to the table with engaging new ways for learners to retain information
Specialized skills – access to a team that specializes in authoring tools, animations, video production, instructional design, audio scripts. 3D, programming
Guaranteed timely delivery – internal teams may get distracted by other business objectives that could push back go-live dates
Bandwidth – it is quite common for larger organizations to request from their internal teams large projects to be completed, then add-on even more making it impossible to complete
Lack of experience – a stakeholder requests something that your internal team has never produced
So the question remains, what is best for you, and that entirely depends on your specific situation. Unless you have no internal team whatsoever and are forced to outsource, a blend of the two is probably your best use of internal resources and your budget for vendors.