Assuming you're willing to keep using Sendmail, another option is MIMEDefang ( http://www.mimedefang.org ). Same sort of idea as Sendmail::PMilter -- giving you access to manipulate messages using Perl via Sendmail's milter interface -- but it's a different implementation.
It also provides a few things over and above the Milter interface, such as hooks for backending Sendmail 8.13's SOCKETMAP option, so you can implement your virtusertable, mailertable, genericstable, etc, as arbitrary Perl code. This should make implementing throwaway addresses, making arbitrary mail routing decisions, etc, a simple matter.
( disclaimer: I work for the author of MIMEDefang )