By far the best program I've used so far for data recovery is
GetDataBack
Its not free but it usually does a pretty damn good job, you could try the trial version which will show you any files it can recover it just wont let you save them.
As for professional services, I've had customers get quotes on data recovery before and it seems to sit in the $2000-3000 (AUD) range.