There are normal SEPA transfers (taking between a few hours and 1-2 days) and there is SEPA Instant which transfers the money within a few seconds. Those are two different systems and not all banks support SEPA Instant yet.
I've done a few SEPA Instant transfers in Germany already and they really arrived within a few seconds to a few minutes.
Most banks in germany do it for free, my bank does 1'000 Instant Transfers for free (incoming + outgoing) after which I have to pay a fee for every additional block of 1'000 transactions. 1'000 is plenty considering the supermarket would still be fine with a next-day standard SEPA, so 3-per-day on average seems reasonable to me.
Where I live (in Estonia) all bank transfers are instant payments, and they are free. I don't have to pay a transaction fee for them.
Must be a problem with your bank, or the other banks. They must implement the instant payments in their systems.
Here in Estonia the SEPA payments were a step back, because we already had a quite fast transaction system between banks, transactions happened about every hour or so. Then came SEPA and transactions became slower, and now we have instant transactions, even better.
It seems that for me (in Germany) transfers still only arrive the next business day. Something must be going on there...