Euro SEPA transfers between Switzerland and EU are typically free. At least the major Swiss banks don't charge anything extra. International transfers in other currencies (e.g., CHF, GBP) still incur a fee, though.
The same applies to most German banks in the other direction but this is by business decision and not by law. Thus some banks do charge a fee for that.
You should use another bank. I've never heard of anything like that when I was living in Germany (I used Comdirect and N26, lots of my coworkers recommended DKB and ING DiBa also).
Currently there are 34 countries in the SEPA (Single Euro Payments Area): https://en.wikipedia.org/wiki/Single_Euro_Payments_Area
SEPA rules specify that you cannot charge more for transfers between different countries than you would for a local transfer.
https://europa.eu/youreurope/citizens/consumers/financial-pr...
"If the payment is in euros or Swedish krona, they should not charge you more than they would for a national transaction of the same value in euros.