Been a while since I shipped a handgun, but did just a couple weeks ago.
UPS.
Dropped it off at the local seed store pick up place with the pre-printed label on 1 July and it arrived in good shape in northern ID on 6 July. If memory serves me it was $36 for their 3 day +/- delivery.
I think all the carriers are a crap shoot. But to date I've never had a problem with USPS or UPS. Haven't used FedEX, too far away.
Package the heck out of it, say your prayers, and send it.