I've used Canada Post
http://www.canadapost.ca/personal/t.../intro-e.aspIt has a section for shipping to the US, and with a bit of number fudging, you can
get the price down to a reasonable level.
Furthermore, you print the label at home, and simply drop off at a local post office. Because it's already bar-coded, and ready for transit, they don't have to re-weigh it. (fudging again reduces costs)