David Kanter from Real World Technologies has analyzed PhysX and comes to the conclusion that PhysX could run a lot faster on CPUs than it is because the code is very poorly optimized. The PhysX technology doesn't support multithreading, and Kanter writes that the fact that PhysX primarily uses x87 instructions can only be explained because NVIDIA wants to make CPUs appear a lot slower than they really are.
While as a buyer it may be frustrating to see PhysX hobbled on the CPU, it should not be surprising. Nvidia has no obligation to optimize for their competitor’s products. PhysX does not run on top of AMD GPUs, and nobody reasonably expects that it will. Not only because of the extra development and support costs, but also AMD would never want to give Nvidia early developer versions of their products. Nvidia wants PhysX to be an exclusive, and it will likely stay that way. In the case of PhysX on the CPU, there are no significant extra costs (and frankly supporting SSE is easier than x87 anyway). For Nvidia, decreasing the baseline CPU performance by using x87 instructions and a single thread makes GPUs look better. This tactic calls into question the CPU vs. GPU comparisons made using PhysX; but the name of the game at Nvidia is making the GPU look good, and PhysX certainly fits the bill in the current incarnation.