We ran into this dilemma last year at Lucidchart when we were debating how to handle SEO, PR, and general marketing. We flirted with outsourcing but eventually hired two full-timers and we haven't looked back. Took a month or two to get them up to speed on the product and best practices but I now glean off of their expertise and having them in-house makes our team stronger.
The only thing we would outsource is very quantifiable deliverables that need no additional maintenance to be valuable. Ie. data entry, template designs, link building.