There just aren't many 6870s listed at Newegg or Amazon. They seem to be selling out quick. GTX460 on the other hand has two pages of cards listed at Newegg. It's just typical retailer gouging. People are apparently willing to pay these prices.
I'm not at all surprised that GTX580 is selling for over MSRP. If you're buying a $500 video card at launch with limited availability you can afford to pay an extra 15% and the retailers know that.
As always it's just supply and demand.

