You meant the iPhone 3G? It uses a 412MHz ARM11 CPU, just for the record. The iPhone 3GS uses a standard Cortex A8 CPU with 256K of L2 cache running at roughly 600MHz (according to shsh information from the device).
And the 3G had its firmware bugged with 4.0, so its performance was really sluggish in 4.0. Not a good point of reference. You might want to reference 4.2.1 on it.
Regarding the Droid and Milestone, you have to realize that although their CPUs can be clocked to 1GHz (or more), they only have 256MB RAM. That's shared between system and GPU. Which means if the Droid tries to take 128MB of its RAM for the GPU, then you'd only be looking at roughly 128MB left. Why 128MB? Because similar phones with similar resolutions take that much RAM for their displays. Hence you see so many Android phones with 512MB of RAM.
And if anything, Android is merciless when it comes to RAM usage, at least compared to iOS. You'll find that even the iPhone 3G can have more processes running at any time compared to the Milestone. That's just... ridiculous, but it's true. Android doesn't have any strict guideline regarding memory usage like iOS. So compared to the iPhone 3GS, the Droid will match in speed in some instances, but will fall behind when it comes to total number of apps run, and what kind of app can run (without Force Close), which makes it feel outdated compared to the iPhone 3GS, which is still able to keep up with various Android smartphones in the market, and it's only lagging behind the iPhone 4.
If you want to test memory usage, try opening about... 3 browser tabs in an Android phone, then go access the Marketplace and see if any of those tabs would be closed. Then compare them to the iPhone 3GS, which can hold those websites while accessing the App Store. Heck, you can even layer another app on top.