A very basic explanation of the two options:
1) Transfer to a new domain company (registrar), classic transfer scenario where buyer wants to hold domain at a different domain company:
Domain transfers are usually completed within 5 to 7 days from the date of the initial transfer request. In order to speed up the domain transfer process, the Administrative Contact should ensure that the domain is unlocked at their current registrar and should respond with a confirmation to the e-mail immediately upon receipt.
The existing domain owner should make sure that the administrative contact e-mail is correct and that the domain is unlocked.
The prospective domain owner should initiate a transfer-in request for the domain at their Receiving Registrar.
The Receiving Registrar will send out an e-mail to the Admin contact, asking for the existing domain owner to approve the transfer request.
(Customer should request and enter the required authorization code.)
The Administrative Contact must confirm the transfer by clicking on the secure link sent in the e-mail. This approval must be done within 5 days or the transfer fails.
The loosing registrar sends you a second e-mail asking whether you want to cancel the transfer. If you cancel then the transfer fails. If you ignore this then the transfer must be completed within 5-7 days.
Losing Registrar releases the domain to Receiving Registrar.
New domain owner receives domain in their account at Receiving Registrar and can manage the domain there.
2) Internal Transfer at Same Domain Company
Also known as a "push".
If buyer has account at domain company where domain currently held, the seller can ask customer services to transfer the domain into the buyer's account.
Once in the buyer's account, the buyer can use the control panel to update WHOIS details himself.
This procedure is much simpler and quicker.
Rgds