The use of 8 as the default value for the number of segments is purely arbitrary. It is a perfectly reasonable value, but it is no better or worse than any other choice. In general, you can often achieve better results by choosing a custom value for the window size and the overlap amount. Remember that there is a trade off between the window size and the frequency resolution. The larger the window, the smaller the frequency increment, and vice versa.
Please try:
nSegments = ... ;
winSize = signalLength/nSegments;
overlap = winSize/2;
fftSize = winSize;
figure;
pwelch(x,winSize,overlap,fftSize,Fs);
for a variety of values for nSegments.