You can't forward email to Gmail - they'll blame your server for forwarded spam regardless of everything else being correctly set up. This is true to an extent for other providers, too.
The simplest solution is to set up IMAP on your mail server and have remote mail accounts fetch from it. Most email providers can be configured to fetch via IMAP.
The problem is that there is no such thing as mail forwarding. It is mail re-sending. So, you get a piece of spam and re-send it to Google, and the From address isn't the spammer, it's you. They'll eventually block the email address, and then the whole domain it's on.
Don't forward. SMTP. SMTP is authenticated, which solves the issue.
There is such a thing as mail forwarding - it just doesn't work with SPF. In fact, since submission and outbound connections are both SMTP pretty much all mail servers to happily forward mail from your client to another server - only with domain and authentication restrictions, but those are not required by the protocol.
The simplest solution is to set up IMAP on your mail server and have remote mail accounts fetch from it. Most email providers can be configured to fetch via IMAP.