I don’t know how glGetTexImage and glReadPixels work internally, but I seeing their prototype I want to say that they do the same thing (I mean, for 2D texture) if you omit the thing that the 1st operate on a texture and the 2nd on the framebuffer.
So IMO none of them is faster than the other.
Theoretically, glGetTexImage should be slower since some or on all GPUs, the texture is stored in a certain swizzled format for better cache performance. I imagine that render buffers are stored in a linear fashion and should yeild better performance with glReadPixels.