25ms for 1680x1050, rgb. that's ~200MB/s. It would probably be faster if I used rgba or even bgra (or whatever the native format is). I'm not sure I'd call that sluggish. It's certainly enough for 40fps (neglecting other factors such as rendering, compression, etc).
Actually, I just checked, and using RGBA instead of RGB drops glReadPixels from 25ms to 21ms.
Note, however, that the rgb to bgr swap in SCR_ScreenShot_f takes about 10ms on my system. So that's 35ms for screen shot, not including writing the image.
(G80 [GeForce 8800 GTS], nvidia driver, linux, (R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz)