If you want to use PGP with a mail program that acts like elm, you should seriously consider using mutt instead. Mutt uses the elm key bindings by default, so the transition should be easy. And mutt has integrated PGP support.
Sven Guckes has a list of elm patches including PGP support.
Debian GNU/Linux ships a version of elm which includes many of these patches. The package name is elm-me+.
To use the PGP-aware version of elm, compose your message the way you normally would; and then when you get to this menu:
Please choose one of the following options by parenthesized letter: s e)dit message, edit h)eaders, s)end it, or f)orget it.press p to bring up the PGP menu:
pgp: _ e)ncrypt, s)ign, b)oth encrypt and signThis will work as you expect, as long as you are using only PGP version 2.6. If you are using PGP version 5.0, then you will have some difficulty. PGP 5.0 is supposed to have a pgpo command for backward compatibility with PGP 2.6 command-line options; but as of this writing, the pgpo command has not yet been implemented.