not every problem has a technical solution.
consider following Best Practices & having code review prior to deployment into Production & don't allow Duhvelopers to specify DOP.
CPUs are 32 on each instance
parallel_max_servers is set to too high value of 960. Reduce it to 100 and then check the performance
parallel_force_local is set to true. Set it to false, so that parallel threads of one sql remains on one instance and not get spilled to other instances
parallel_degree_limit at 32 is also high. Try to reduce it too to 16 and then test
How do you come to the number of 960 ? (parallel_max_servers)
You didn't tell us the db version. Besides the fact that the parallel processes are quite high, from 11.2 onwards, Oracle uses automatic DOP. Anyways, please reply to the question of tvCa-Oracle-how did you come to 960 value?
You have parallel_degree_policy=limited and parallel_degree_limit=32. Why did you decide to do that? It disables some of the facilities that will prevent your system from becoming overloaded. I would set them to AUTO and CPU, to enable queueing and limit the DOP to available resources. With your current settings you risk node evictions caused by too high CPU usage.
Oracle Certified Master DBA
As others have said, parallel_max_servers is set to 960 so you may see lots of parallel processes with the parameter set to this value.
I want to add that you may also want to investigate using the Resource Manager to constraint parallel processing at the session level.