Multi-threaded interrupt handling would likely yield poorer performance.
Interrupt handling is a very small portion of code (or at least it should be if programmed correctly). The typical interrupt code is to acknowledge the interrupt and schedule the higher level processing code. The higher level processing code is typically multi-threaded.
Should the interrupts be distributed across processors or should the interrupts be distributed in another fashion (e.g. round robin via hardware) then there are two problems at interrupt levelto resolve. One being interrupt level priority inconsistencies, and the second, and likely more important, is the interrupt code that has to post the scheduling event must now be written using thread-safe coding practices. Thread-safe coding practices often result in SpinLocks or other "dependent on other processor" types of delays. This in turn would cause some interrupts to be blocked (in interrupt service) while all interrupts (using thread-safe code)would run slower.