There's no simple answer to that. In terms of algorithms, OpenPGP and S/MIME are roughly equivalent. And both standards have similar flaws that can be a problem under specific circumstances.
The main difference is the trust model: In OpenPGP, you rely on a decentralized Web of Trust or personal trust. This means you either arrange a meeting with the person you want to communicate with, so that you can directly verify each other's public key. Or you rely on somebody else to do the verification for you in a friend-of-a-friend way: If you trust some person or organization A, and A trusts B, then you may decide to trust B as well (and so on). S/MIME, on the other hand, relies on central, hierarchically organized certificate authorities (CAs) which verify keys and act as trusted third parties. For example, a company may run its own CA to issue S/MIME certificates for its employees. Whenever two employees want to exchange mails, they can do that without having to personally meet or build a Web of Trust, because they can both rely on the company CA.
Which model is more appropriate depends on you and the person you want to communicate with.