If you're sending a couple of notices a day, mail() is a fine way of doing it. If you're sending a few thousand emails a day throughout your company, it's still probably ok.
If you're gonna be processing 100,000 messages or more a night for a mailing list, you might want to run sendmail by hand. Or at least change the default configs in php.ini.
Read up on it a bit with 'man sendmail' and look through all the switches. Especially the -q switch, which tells sendmail to process outgoing mail in big batches instead of one at a time. Telling sendmail to process the mail it's sending every 60 seconds or so will definitely make it much faster at pumping out 100,000+ emails.
Also, look at increasing the size of the spool directory for your outgoing email so it doesn't overflow and lose email.