1) You have the buyer create a free dynadot account. And then you "push" the domain to the buyer. It will then be up to the buyer to decide when and where he wants to transfer the domain.
2) Once you receive the money, you can have the buyer initiate a transfer of the domain through his GoDaddy account. You will need to be in contact with the buyer so you can supply him with information you will need. You will also need to make sure you "unlock" the domain you have here at Dynadot. Once you unlock the domain here at Dynadot you will see a transfer code number appear. The buyer will need that information in order to transfer the domain. (There may be other hoops that GoDaddy has....)