For the final delivery of the transformed or untransformed messages
to the destination systems, it's not a bad idea to have one thread for
each one.
This is because each final system could cause delays. For example, you have a lab system that is configured to only work in
synchronous mode and takes five minutes to process each message. It might
only get ten messages an hour, so the speed is adequate but you do not want
the rest of your delivery service to wait while that receiver does its
thing.