I’ve seen a few posts on domain forums where people are asking for a free boiler plate domain sales agreement to use. In my opinion, if you feel you need to use a sales agreement in the first place, you should probably contact a domain attorney or other local IP lawyer and pay for one. It’s likely the cost will be less than you think since most will be able to customize a standard agreement based on your needs.
So why do I think you should have a custom agreement drafted? The primary reason is that different countries and even states have different regulations when it comes to contracts and possibly even the parameters of your sale. In addition, your sale may have special circumstances (using Escrow.com, paying via wire transfer, Paypal payment) or it may have other non-standard issues that need to be considered.
If you use a boiler plate agreement and run into troubles, it would probably be fairly easy for an opposing lawyer to pick that apart, which could cause complications for you. If you have an issue with an agreement that you purchased from a lawyer, you should at least have support from that lawyer to help fend off any dispute.
At least in my opinion, if you are concerned enough about a domain sale that you want to use a sales agreement/contract (I recommend using one unless there’s a good reason not to use one), you should pay the few hundred dollars to have it created for you and specially tailored for your company’s needs. It would be a shame to have a false sense of security to save a couple hundred dollars.