Yes, actors CAN be human users or external systems.
But not all the external systems SHOULD be actors. In this regard, it's worth
to quote a (non binding) note of the UML standard:
An Actor does not necessarily represent a specific physical entity but
instead a particular role of some entity that is relevant to the
specification of its associated UseCases.
In plain text this means that in your example, SWIFT could be a good candidate for an actor: the ATM has to interact with SWIFT to ensure the money is withdrawn from the holder's bank. This interaction would most probably be mentioned in the use case requirements (regardless of how the ATM software would be implemented).
In reality, SWIFT is only a network used to reach the cardholder's bank. So IMHO, this secondary actor should better be called Cardholder's bank
instead of SWIFT
for a higher accuracy and a more general solution.
For the sake of completeness, let's take another example: a third party DBMS could also be considered as an external system. But this one should in principle not be considered as an actor, if the DBMS is a design decision that is not relevant for the use case (i.e. it would not add any observable result of value for the stakeholders of the system under consideration). So an external system can also be an implementation detail left out of the UC diagram.