An awful lot depends on the hardware / OS platform that your DB is running on. There is no magic "one size fits all" when i comes to performance tuning / thread analysis etc. I guess this is why top-notch performance specialists charge such high fees for their services.
Certainly in the early days, the rule of thumb used to be max threads = 2 x number of CPU's on your server. Once you went past this number the overhead costs of time sharing /slicing between the threads was more than the gain you got by the larger number of threads.
Of course a lot also depends on what other loading is on your machine at payroll runtime. A well-known National Health Service tend to allocate processing to payroll runs out-of core hours (ie from 4pm through to 6am etc) in the assumption that there would be fewer people using the system then. This is a gross generalisation of the set-up there, but the basic premise is sound.
I would suspect you will need to experiment to see what number gives your a reasonable run time.
Hoe this helps

Regards
Barry