GTX 460 usually has a lot more overclocking headroom.
If you OC both as much as you can, the 6870 will still be faster. However, the performance gap between the two will be smaller than it was at stock. So if the 460 is a lot cheaper, it may be a better bang for your buck if you're an OCer. But if you just want the performance and the price is right, get the 6870.
In most performance comparisons I've seen, the 6870 beats the 460 by 5 - 7fps at most, and personally, that's almost insignificant when you consider driver updates and various games written to take advantage of specific cards and chipsets. And really, if the card is already capable of sustaining 45fps on high detail at the resolution you play, what do a few more frames matter?
Since performance is so similar, I'd look at power consumption, thermal levels, and noise. The 6870 requires significantly less power while keeping a similar thermal and noise level with the 460. Different coolers can sway the temperature and noise for either chipset, but the 6870 will still have a sizable advantage in the power requirement.