I've done all of those.
I highly recommend using an internal designer if you already have one. Then I would go with an agency or Marketo design group like Perkuto 🙂 or others.
My experience is that most freelancers aren't familiar with the particular Marketo Template issues when they create the code, so you will either have to babysit them or do a lot of re-work. If you have a coder on staff, then have them translate the PSD file into html.