Is a GeForce GTX 670 enough for a good gaming experience at 2560x1440 or do I need to step up to a Radeon HD 7970 or higher?
At 2560x1440 (and higher) the amount of memory on the card becomes a valuable asset in most games, so starting from the 2GB GeForce GTX 670 is a good start. If you were to crank up the anti-aliasing to 8-16x, you might find that 2GB of RAM a bit restrictive.
But, personally, I find at high resolutions like 2560x1440, the effects of anti-aliasing are not as strong as the game is being rendered at an already high resolution. So, a single GeForce GTX 670 should be absolutely fine for today's games. Tomorrow's games, that's a different question.
I would still recommend sticking to the single GTX 670, but maybe take a look at an overclocked card from ASUS or MSI - as their offerings are really kick ass. You could upgrade to the Radeon HD 7970 - but the performance increase isn't going to be that big, and NVIDIA (personally speaking) generally have better driver and game support.
On NewEgg's website, the ASUS 4GB GeForce GTX670 is only $40 more than the 2GB - so that could be another option for you.
But then I do have a soft spot for MSI's Twin Frozr range of cards, with the MSI 2GB GeForce GTX 670 Twin Frozr IV card just $389.99 - $30 less than the 2GB ASUS and $70 less than the 4GB ASUS card.