I never got any sort of official source on this, but I noticed from the 3G to the 3GS it seemed like all they did was rework the volume so that 50% external speaker volume on the 3GS was equivalent to 100% on the 3G. Sounds which were previously not distorted with the 3G suddenly became distorted, etc. They redesigned the speaker of course when they went to the iPhone 4 and got a much cleaner sound.
But I have a feeling they did the cheap trick again from the 4 to the 4S—raising volume in software without actually improving the speaker. It kinda hurts my ears and I have to turn it down now.