0-confirmation transactions were working excellent before Bitcoin Core added SegWit and other useless stuff. You don't need to wait for a new block if your signed transaction is in the mempool, and it's secure enough for small payments.
Still, many companies have always required a few confirmation blocks before accepting a transaction, regardless of the amount. Like currency exchange companies, for instance.