I am actually doing this every frame. I've written a software 3D renderer and I am using SFML to display the buffer that I render to the screen.
Clearly, this process is going to be quite slow. That being said, if I render a scene that has nothing in it and check the clock.ElapsedTime() its only a millisecond or two. Im not thrilled about losing time for this blit but Im not aware of any other option(s).
Using the LoadFromPixels seems to be pretty quick.
Another alternative Ive considered is to use GLUT to create a window and then make my buffer an FBO or similar just to draw it onto the screen.
If anyone is aware of a faster method of doing this I would be more than thrilled to hear it! (I am really hoping there is a better way)
Here is an example of a 3D scene I render (into my buffer) and then blit with SFML: