It depends on the service too. USPS you won't get dinged if your order is less than $50. Between $50 and $100 you're taking your chances. > $100 definite duty.
If you're shipping via a courier like UPS, DHL, FedEx, Purolator... you'll get dinged every time. I ordered a pair of $30 sweatpants that were shipped through FedEx and ended up paying over $40 in shipping fees, service charges and $6 in duty.
I've heard of some shops (i.e. 80stees) that ship to themselves in their international branch in large bulk packages, then forward the package again to its final destination. I'm not sure how the accounting works out, but it probably combats the "death of a thousand pin-pricks" that plagues shipping.