I'm going to be buying a PC very soon and I think I decided on the 570. Battlefield 3 is the main game I'll be playing and I heard Nvidia cards are slightly more favored for that particular game. I'll be playing other games as well though so don't let that factor in too much. It'll be paired with an overclocked 2500K (4.4 GHz) and 8 gigs of RAM. Is this the right card for me? I was looking into the 670 as well but that's on the expensive side and I'm not sure I need that high end of a card. I want at least mostly high settings at a solid 60 FPS for Battlefield 3.
My 570 gets a solid 60 on full ultra when i'm overclocked but it does dip to 58 sometimes.
Btw I have similar hardware than you, i7 at 4.5 (same gaming performance than i5), 1080p monitor, and 8 gigs of ram
If you could, go for the 670 as it's newer and would keep you future proof for a while. If you can't, I would go for the GTX 570 Power edition. You could basically max out all the sliders on MSI Afterburner to overclock it and it would be fine.