I would rather give each type of computation a chance to use all cores: parallelism rather than concurrency. But there is a lot of legacy code out there.
However, if you only target, say, 4 cores and you have 4 subsystems (physics, AI, rendering and gameplay lets say) and all four constantly use the CPU (ie you don't have too much downtime) then the extra complexity and overhead (moving data between cores, shared data, locking) may not be worth it over just pinning each subsystem to its own core.