When dealing with a known business or larger corporation, I will normally transfer the domain to their account and then send them an invoice via PayPal.
From my perspective...if I received an email from somebody I had never heard of, I don't know if I would feel too comfortable sending a couple hundred or thousands of dollars and then just waiting patiently for the domain. Since there are so many potential scammers, I would worry I would never see anything for my money and suddenly the person that emailed me would disappear.
Any smart business is not going to ruin their reputation by cheating you out of a few hundred dollars for a domain name. A negative Yelp / Better Business Bureau / any other type of review can break a business.
If dealing with an individual, I normally offer them the option to use escrow (I pay the fees) or tell them they can pay via PayPal - being sure to mention it will be much quicker and they will be able to get the domain by that night. Most of the time, they are just willing to send payment and I then transfer it. It of course helps to be a verified PayPal business member.
If you do choose to use escrow, be sure that it is a trusted company such as escrow.com. There are quite a few fraudulent/fake escrow companies in which you could easily lose your domain and never see any money.
If transferring a domain before receiving payment, it may be wise to have the buyer sign a Domain Name Purchase Agreement