If it is just a small transaction, just use your registrar to intiate the transfer and his registrar will notify him with an accept or reject. Once you have the name in your account you just change all necessary info(DNS, Registrant, etc.) as required.
If the value is worth it you can
Use Escrow.com to send the money, then use your favorite registrar to transfer the domain.
The registrar he is using will send him a sign off email(assuming he has them unlocked).
Then the domain will be in your name when the transfer completes.
Then you can tell Escrow to release the funds to the seller.
Or you could use
https://www.certifiedofferservice.com/ by Networksolutions and just make the offer, they accept it, and the service takes care of the rest.
Good luck.