Without modifying your job so that more work can be done in parallel, you will likely see worse performance if you manage to even out the load. The two CPUs which are at 100% are likely dedicated to two parallel streams, and moving them around will cause additional overhead for context switching and loading CPU memory caches. The other two may be sharing additional load which may be bottle-necked by the first two processes.
If you can increase the degree to which the job can run in parallel you might be able to shave time, but it should still take over half an hour. (current runtime * 260/400 should be your best case improvement.)
Bottle-necks are common in cases like this. If you solve one bottle-neck, you will likely discover another.
Some database problems can be solved by modifying the queries involved. Given that CPU appears to be the bottleneck, it may be possible to improve the database code. This would require tuning the query using the most CPU. Profiling the application may yield information which would help in optimizing it.