I agree with you that many people use Net::SMTP when the should be using other modules that are more well suited to quickly "building and sending" an email. However, there are many situations where using Net::SMTP as part of an overall mail solution where you need/want more control and more percise error handling over the SMTP exchange, or for the performance reasons mentioned above.
in reply to Net::SMTP shortcomings if used as a general mail sending module
I frequently use Net:SMTP in conjunction with a module like MIME::Lite, using MIME::Lite to build the body of the message and Net::SMTP to inject it into an email system. Sure, I could use MIME::Lite to send the email via SMTP myself, but I'd loose control of the error handling of the SMTP exchange (for instance, failing over to a backup mailserver easily if my primary mailserver is down).
I don't see any problem with having to separate out each address individually when dealing with Net::SMTP. I normally have the addresses in an array before, so its very easy to do a