Can't talk about the droid 3, but I can speak for the Galaxy S (1), as I'm a kernel developer for this phone (it should apply to the Nexus S as well). I'm only talking about the S-AMOLED equipped models.
Slowdowns are linked to how the screen refresh rate works (and not directly to the GPU drivers). The screen is capped at 60 Hz (resulting in ~56FPS). It can be pushed to a maximum of 68Hz by kernel modifications (resulting in ~65FPS). The problem is that the Vsync will limit the rendered FPS at some "steps".
If you can't maintain the maximum FPS the screen can display it'll lock to a lower step, generally observed is half the refresh rate, so ~28 FPS @ 56Hz.
Obviously, moving from 56 to 28 FPS will result in a big slowdown.
All this is still a bit dark for me (and others SGS developers), as some apps are sometime able to trigger some other steps, like 46, 41, and 32 FPS. It could very well be a framerate reading error though (for example if it's switching consistently and the output is an average). We are all okay with the fact that it comes from the screen. It's partially proven by these "steps" changing when the screen is uncapped to 65FPS instead of 56.
Hope it helps/clear confusion about the slowdowns on the Galaxy S/Nexus S (S-AMOLED).