I've always had problems with fuel spitting back out of the filler neck when filling up. I recently took a really good look at the breather hose coming back from the tank that loops back up and down up inside the wheel arch and found there was a vent/roll over valve tucked away.
I've never seen anyone discuss this as the obvious point of failure, so I disconnected the old one, blew through it and it was clearly blocked and not functioning.
Ordered a new generic valve, fitted it making sure it was orientated properly, and on the next fill up there was one instance of fuel blow back, but that quickly ended and since then I've had zero issues - a lot of time saved at the pumps now, the rate of delivery had to be vastly reduced to stop spillage, and no smell of fuel vapour inside the car after filling up.
I bought one each of these two valves but only fitted the black one so far, so I'll keep the other in case it fails.
(wish I'd done this years ago - so much for 'they all do this' -they don't need to!)