Most registrars allow free domain pushes to other accounts. The buyer can also choose a registrar and then send a domain transfer request. You will then have to unlock your domain.
Depends on which register you want to transfer it to. Enom is $8.88 for a transfer, Godaddy is about $8.20 (?) without coupons. It really depends on which transfer you want to transfer it to I guess.
I have no problems with Yahoo and the transfer was done in less than 7 days.
As simple as unlock the domain in Yahoo, place the transfer order at GoDaddy, confirm the process through an email they sent to the administrative contact email, introduce an authorization number generated through GoDaddy and they did all the job.
This was for a dot.com, some other extension like info require an authorization code usually available through the original registrar.