GPU or CPU is perfect for the job
Sure, you can probably do everything soon with GPU - and then we are again in the situation where EVERYTHING is done by GPU (like previously by CPU)... and slow because GPU has too much to do.
Multi-processor (GPU+CPU+PPU, or GPU+CPU*X) approach is better in theory at least. Multi-core CPUs are great thing but we are far from making the best use of them, because it's really difficult to make properly threading game engine.