I think Oregon programmers can be a great option. Classic outsourcing adds four main issues.
People outside the company are building / maintaining your code. (How to you make sure they build high quality code that solves the right problems?)
People outside your office building your code. (How do you communicate with them effectively.)
There are now significant language and culture issues. (How do you clearly communicate with them.)
People outside your time zone are working on your code. (How do you deal with unexpected issues.)
Near sourcing lets you sidestep everything but the office thing.