We use Authorize.net through Total Merchant Services and we've been very happy. We also have a PayPal option, but only 2 customers use it for some reason. It costs for the auth.net account - but it's very worth it imho. Not only for the ease of processing cards, etc. but for looking more legitimate as a company. If all you accept is paypal, I think it makes you look kinda small.
One bit of advice - if you use auth.net with a billing system like ClientExec and it STORES the CC# in your database, then you should put something in your TOS that states that you will store the card and charge it monthly - otherwise you will have grumpy customers - trust me
