As FRex said, it is pretty easy to do this when your sounds have the same sample rate and channels count.
Here is a sample code I just wrote, if you need to do the action multiple times I suggest making a function out of it.
sf::SoundBuffer sb1;
sf::SoundBuffer sb2;
sf::SoundBuffer sb3;
//Declare a array of shorts to store all the samples from both buffers
//We use dynamic allocation to give it the proper size to hold the data
short *samples= new short[sb1.getSampleCount() + sb2.getSampleCount()];
//Copy all the samples of sb1 into our array
for(int i=0; i<sb1.getSampleCount(); i++)
samples[i]=sb1.getSamples()[i];
//Copy all the samples of sb2 into our array, in addition to the samples from sb1
for(int i=0; i<sb2.getSampleCount; i++)
samples[i+sb1.getSampleCount()]=sb2.getSamples()[i];
//Finally load sb3 from samples
// sb3.loadFromSamples( <samples> , <how many samples to load> , <how many channels our sound has> , <our sampleRate>)
sb3.loadFromSamples(samples,sb1.getSampleCount() + sb2.getSampleCount(),sb1.getChannelCount(),sb1.getSampleRate());
//After using the array, free the memory
delete [] samples;
*This will only work properly if the sounds have the same samplerate and channel count!
However, SFML does not support doing this directly