There are multiple reasons not to use the expn command.
The expn command of smtp is that it is not supported by all
systems. Also how to configure the expn command to access the
sub-lists, etc. It may be alot more complex than just the :include
features as that started this discussion. What if you have a special
mailer for mailing list stuff that accesses the lists via modes
unaccessable to expn.
Then there is the question of local people on the list that have
.forwards to other locations or local delivery pipes. These people will
show up via the expn command as email@example.com or a piped string
of some sort for localdelivery. When someone wants to unsubscribe from the
list, he needs the address in the file, not the expanded address.
If you support the expn part of the sendmail, why bother with a
private list? If you are on the net, anyone could just telnet to
the list machine and expn the list. Blows privacy all to pieces.