Part of the problem is that the self checkouts are super paranoid about preventing theft. If you put your bag on the output you get in trouble, your child puts their hand on the scale you need cashier assistance, you don't wait long enough after the last item for it to be weighed and you need to start . It's literally impossible to go fast! I don't know if it is justified. But it seems surprising as I could easily just put something in my bag if I wanted to steal it, I don't know why I would bother putting it into the scale.
Of course the cashier will always be faster, they are familiar with the interface, know where most of the barcodes are and have the codes of most non-barcoded items memorized.
But self-checkout could be much faster by removing some anti-features (from the customer POV). I have seen a couple of stores with a better solution where you pick up a scanner at the start and scan your items as you go. This has the advantage of parallelizing most of the process instead of clogging up on big expensive machines. In fact with the ability to check out on that device you could probably get by with just a "Customer Service" desk for when something goes wrong.