I'm a DIY kind of guy (of the kind that's more likely to spend $50 on tools for X than to pay $30 to a bike shop to do X for me) and I did my own fit following instructions from
http://bikedynamics.co.uk/guidelines.htm and common sense. It involved taking pictures of myself on the bike, tweaking seat and handlebar height, and ordering a custom shortened crankset. I've been fine so far.
As far as I know, knee pain is often caused by excessive bending of the knee at the top of the stroke. And that happens when the crank is too long or the seat is too low. If you have pain in front of the knee, that's the most likely problem. If your pain is mostly to one side, you have a problem with cleat positioning.