From our pective, it depends on what business you need to be in. Generally you don't want to outsource your core competency. If you are trying to create a product where the core technology is in the electronics, software, and mechanical design, you should probably suck it up, hire about 6 people of core disciplines, and managers.
If you are leveraging engineering to bring your technology to market (a therapy, smart watch, etc), the sub it out. You won't likely need a fully working team full time/long term. You'll get your product done, sell the heck out of (which should be your focus) and come back to the contract company for changes and support.
If you think you are going that way, I have a full turn-key product development firm, Anidea Engineering, Inc. http://www.anidea-engineering.com. firstname.lastname@example.org. 561-383-7311 x7110. We have a staff of electrical, software, and mechanical people.