The way to buy printheads from Canon is to call 1-800-828-4040.
You will find that the prices for printheads are often cheaper directly from Canon than from sellers on eBay.
One rather dispicable scam being run by some eBay sellers is the stripping of cartridges and printheads from printers and selling them separately while trying to sell the printer body without cartridges or printheads.
I bought a new printhead for my ip4000 on E-Bay from Inkcessories. It came as a brand new, sealed in foil printhead - worked perfectly. Would have no qualms buying from them again. Over Labor Day they had a 10% off sale on all printheads on their website - wish I would have picked up a spare for both my ip4000 and ip6000D - was hoping they would repeat the sale around Christmas but not yet.
But it would be interesting to see what Canon USA prices are.
Inkcessories was much cheaper than Canon for my i960 printhead. as trainman mentioned, Inkcessories also sells printheads on ebay. Their ebay prices are better than their web site prices, but they don't always have the printhead you need on the ebay store.
You might also try your local authorized Canon repair shop. The one I use is:
Daisy IT Supplies, Sales & Service in Rancho Cucamonga CA.
They have surprisingly cheap prices on printer repairs and parts.
800-266-5585