Being that I've dealt with SWIFT for about 33 years, payments within SWIFT don't take days to compete, they generally go through in about a second.
What does take time are banks and financial institutions connecting to SWIFT dealing with the payments if they have clunky bankoffice batch run systems. Also, if they do things like switch off their SWIFT connection from say 5pm on a Friday until 8am on a Monday (or overnight) then anything pending being sent to/from will get held up on SWIFT and will be delivered when the institution next connects. Where things are delayed, the sender of the SWIFT message can get a delayed delivery report that will give a list of anything that is delayed by a recipient institiution.
So yeah, it's not so much SWIFT that is the problem but the clunky financial institutions connecting to it with ancient backoffice systems and ancient banking processes!
More answers on request!