Here's a few takeaways:
1. Definitely prepare for launch DURING development, and ideally start on day 1 (or ASAP). Set up a pre-launch page and explain your upcoming product. Collect as many emails as you can. This gives you ample time to ensure that you don't launch to crickets when the big day comes.
2. If you are not famous or well known, it will be 10-100x harder to gain traction, but not impossible. Luck also plays a bigger part if you are unknown and/or have little to no connections.
3. No one will understand your product/service better than you. You need to outline all the benefits your service provides via blogging, landing page, explainer video, etc. We hired a video creation company to create our explainer video, but ended up re-writing the script ourselves and basically produced the whole video (other than the graphics, music, and voiceover).
4. You can hire a PR company, but they are very limited on what they can do especially if working with a limited budget. In this case you still need to give them interesting things to write about, since like I stated above, no one will understand your product/service and its benefits better than you. PR results OBVIOUSLY can be hit or miss and don't guarantee any results.
5. Long-term growth is usually a fairly standard procedure, and most successful companies follow a similar common formula. Have a blog and regularly post blog posts that would interest your potential market. In our case it's bloggers, so our blog will contains posts that bloggers find interesting. Blog content also drastically improves SEO. You can use your arsenal of blog posts and share them when the time is right/relevant (on Quora, Reddit, HN, Linkedin, etc). Over time, organic word-of-mouth growth kicks in (along with compound growth), but until then, you have to do things yourself. Remember: a bunch of little wins = Success. Finding these little wins is hard and time consuming and no one will likely do it for you, especially in the beginning.
To answer your question, I think there's just too many moving parts to outsource all of it to a "growth/traction company" but doing it yourself is very possible as long as you put legitimate time and effort into it.
If you're curious about what service we launched, it's at http://blogenhancement.com