SEPA also works for SEK now, other EU currencies are in pipeline.
Swift is just a messaging standard and a message exchange network (distributed). SEPA is that, plus a settlement system (in a nutshell). That allows for speed and much more (instant payments, request to pay, pay by phone number, credit/debit transfers, etc).
You're bound to deal with currencies once you make any kind of transaction that originates in one currency and settles (finishes) in another.
It is also single currency - Euro only, right? Swift is global.
Dealing with many currencies and laws (e.g. countries with capital controls) is very complex.