As mentioned by Nuno's answer to Content Management System with a separate Publisher Server, more threads does not always better performance:
Finding the right balance between # of threads and performance is an
art, with a lot of variables that may impact it - database
performance, template optimization, network bandwidth between
transport & deployer, etc.
I normally start by determining the number of processors and cores available, and then leave one core free per processor.
For example, if you have a (standalone) publisher with two quad core processors (eight cores in total), then I'd start by using six threads for each (i.e. <threading renderThreadCount="6" deployThreadCount="6" />
).
The total number of cores on the server are obviously then shared between all publishing (and Operating System) activity on the server (resolving, rendering, transporting, etc.).
This is just a 'rule of thumb' that I have used in the past, and seemed to provide consistent publishing performance. However, as Nuno suggests, you may need to do some monitoring and experimenting with these settings.
NOTE: I cannot remember where I heard this 'rule of thumb'. I'll try to find the links and add it here.