You can try to list your domain on domain forums like NamePros, the most audience will be reseller, to find end users, you might have to post it on SEDO etc, or to directly contact the parties who might be interested in your domain.
This depends on the registrar. If both parties have accounts at the same place, then it's usually easy to "push" the name to the buyer. Literally takes about 2 minutes (at least at GoDaddy). Two different registrars, and things can get a little more complex, but not always. To keep things simple, I always have the buyer open a free GoDaddy account. That way it's fast & easy and they can then move it anywhere they want. BTW... lot's of good registrars out there. I just like GoDaddy personally.
From what i understand, escrow is a service in which the money is held in a safe place. Until teh domain is received from the other party. It is basically a fair exchange, so neither party goes first. It is a great way to protect fraud. But can be costly.