For sending, you don't need to use Primal's built-in wallet. I believe that any Nostr app (I also use Amethyst) supports sending from any wallet (I usually use Phoenix on Android)
For receiving, you can use any wallet that has an LNURL. The Primal Wallet is convenient, but Primal can easily use any LNURL-supporting wallet for receiving zaps
I expect/hope that Bolt12 addresses will become more popular for receiving, and that all wallets and Nostr clients will support them