The procedure is in fact.
The domain transfer direct to the customer once Escrow confirm receipt of payment. The entire transaction is Stateside hence it's popularity with Americans, The charges aren't cheap - usually around US$70 + wire transfer fee from your bank. The service is as safe as any transaction can possibly be.
Both parties have to create an Escrow account, which is a plus as you can check status etc on-line and not rely on email updates, Payment is via a wire transfer ( though you can request other methods within the US) and usually completes in a day or two once payment is released. (they advise -up to 7 days but between the US and UK its always quicker)
Also Ask your customer to set the inspection period to 1 Day, otherwise it defaults to a 7 day inspection period, and its a pain if you try to change it afterwards.
In a perfect scenario - Your customer pays Escrow via internal US wire banking and is almost instant. Both you and the customer hold accounts at the same domain registery service , allowing for an instant internal push - an agreed one day inspection period, whole deal done and dusted in about 72 hours