Although maybe a bit more expensive initially, I chose USPS as the shipper for orders from the US if I can.
Some, if not all, of the couriers, charge sometimes exorbitant brokerage fees to clear the package through customs. And they may not notify you in advance- it can be a surprise when claiming your parcel, often exceeding the value of the item itself.
Granted, I have not tried all the couriers or all of the levels of service from those couriers but I have been surprised, disappointed and PO'd with UPS, FedEx and DHL. Something I just read suggests if you chose a higher level of service you don't pay some fees but that means paying extra for shipping in the first place.
Often cross border shipping is cost prohibitive so, living close to the border, I get items shipped to a US parcel service, pick up there and drive it across the border myself. Yes, it costs me for the gas to do that but I can still save money and get a bit of a road trip out of the deal.
Case in point: to get my newly ordered Lagun table sent to me in Canada the shipping would have been $175 US! That's not a typo. The shipping to my US parcel service was free. Guess which option I chose.