7950's are much longer than 670's, even the ones with the 680 PCB.
The two are roughly equivalent at stock clocks, but the 7950 will be faster after overclocking. 670's don't have a whole bunch of overclocking headroom because you can't change the voltage. If they were the same price it would be fair-ish, but I wouldn't pay more for a 670 unless you need some specific Nvidia thing like 3D.
The GTX 670 is about the same as a 7970 and overclocks like crazy. Definitely worth the extra cost.