The only other method i have had some limited success with was to buy a cheap external usb drive bay and to put the drive in there. The external bays don't usually support smart status checking so they can sometimes give you access to an otherwise unreadable drive.
You can get a trial version of Runtimes GetDataBack from here :
http://www.runtime.org/