I've released a few apps ad-hoc, and the instructions are always pretty concise.
Send the provisioning file (make sure that's the one you actually sign the app with) and the .app file to the user.
They drag both into iTunes and install the app when they sync.
I think the big thing most people usually miss is actually signing the app with the ad-hoc provisioning file.