If you could find a way to do this using SoundStream and the ogg libs, could you share your code, possible even uploading it onto the wiki?
I don't know if I'll be able to work up a complete, working example (my current code uses SDL_mixer, and would require some revision to work with SFML), but I can at least offer some ideas as to how it might be done.
The first step would be to get the Ogg Vorbis library built and/or installed, and become familiar with the basics of its use. You can find the docs
here.
I started by just loading the entire ogg file into memory and playing it back normally (i.e. not streamed). Obviously you won't want to do it this way in practice, but this way you can get familiar with the Vorbis library, and be sure that the basics are working.
Now, looking at the SoundStream docs, I see two functions of interest, OnStart() and OnGetData(). I'm going to venture a guess that OnStart() is called when streaming begins (e.g. in response to a play request), and OnGetData() is called whenever the buffer needs to be refilled.
The Chunk struct appears to contain a buffer of signed 16-bit samples, the size of which is determined by NbSamples. This will need to be filled (presumably) with raw audio extracted from the ogg stream.
You'll need to make sure that the format of the ogg data matches the current audio format. Technically, ogg files can have multiple bitstreams, each with its own sample rate, and even number of channels. I don't know how often this happens in practice though. I've made allowances for it in my code, but as far as I can tell, all the ogg files I'm using only have one bitstream. In short, if you can be sure that the format of the ogg file will match the current audio format, you won't need to perform any conversions and can just copy the ogg audio data directly to the buffer.
If it sounds a bit complicated, I suppose it is (it took me a couple of days to get it all working), but the payoff is seamlessly looped music tracks with the option of arbitrary loop points (which, IMO, is pretty much necessary for a polished, professional game, since looping back to the beginning of a music track can be fairly unnatural if the music is not completely dry).
Also, although I mentioned it earlier, I'll mention again that 'normal' looping works correctly and seamlessly in the current SVN version, so if you're still using the latest binary, you might try compiling from source and see if that fixes the lag issue.
Sorry I can't provide a complete code example right now, but feel free to ask if you have any questions about any of the above.