I pretty much believe (am I wrong?) that over 90% (if not over 99.9%) of Ubuntu 10.x i386 installations are run on i686 computers. So why is Ubuntu still not i686-optimized?
The only case I can imagine, when one's install modern Ubuntu on i386 machine is a low-end netbook on something like Geode CPU. So, if Canonical guys would like to support those, then why not to leave "Netbook Remix" i386 and make mainstream desktop Ubuntu i686?
During the 10.10 development cycle the decision was made to drop support for i386 and i486 entirely. You can see the original specification here: https://blueprints.launchpad.net/ubuntu/+spec/foundations-m-686-compile. I believe support may have been dropped for i586 as well, although that was a bit more controversial.
Importantly, this wasn't just kernel optimizations (686-compiled kernels had been available long before), but every package in the archive.
However, the name i386 for the 32-bit version of Ubuntu still lingers around in a few places, such as in package description fields (which are built for arches "i386" and "amd64" rather than "32bit" and "64bit"). These are just cosmetic issues in technical parts of the distro, however, and for a whole host of reasons aren't worth updating.
New releases of Ubuntu(10.10 and above) won't work on anything older than i686. http://princessleia.com/journal/?p=2989