Transfer alternatives:
1. You push the domain to the buyer's account in the same registrar. The buyer is notified by the registrar to accept the push. This is free and takes a few minutes.
2. The buyer initiates the transfer from another registrar. He pays for this to his registrar around the regfee (and gets +1 registration year). You unlock the domain and ask your registrar to email to you the authorization code. Then you give the code to the buyer. Sometimes you are also asked to click on some links that authorize the transfer. This takes 2-7 days, depending of the registrar. So it is easier to ask the buyer to open a free account in ther same registrar and go with method 1 instead.
Note that you can not transfer the domain to another registrar for 60 days since you registered it or changed the whois ownership details.
The general rule is that the buyer pays first, receives the domain later. Payment alternatives:
1. If you sell through a markerplace like GoDaddy, Sedo, Flippa etc. they will usually guide both the buyer and the seller through the payment process.
2. If you sell privately for relatively small money (e.g. less than $300) it is usually OK to accept Paypal. However, remember that the buyer has the 60 days Paypal protection period. During this period, some people can falsely claim that they never received the domain and the Paypal with award them money back, so they steal the domain this way. Therefore, better sell to reputable forum members.
3. If you sell privately for relatively large money, make sure that the payment is permenent (can not be recalled back). The buyer will usually not want to pay with a bank transfer to a seller that he does not know. So the domainers usually to go to Escrow.com that protects both the buyer and the seller and is totally safe. Escrow takes a small fee.