Unfortunately, there are manual interventions in a small number of cases. For example:
1. For urgent international transfers, some banks re-key these manually. If you want STP, they use SEPA. The low volume doesn't justify the IT spend required to automate between usually legacy systems.
2. On the receiver side, the details on transfer might be wrong. I once paid my credit card manually from another bank, and git a digital wrong. The receiver bank couldn't match details, so had to manually add the details. Depending on who you transferred to, there is a different level of sophistication in their exception processing.
Yes, we're in the 21st century, but the majority of errors I see are down to customer input errors. I spend some time developing validations to prevent the customer proceeding with these, but you can only programme around a certain amount of them.
You need to see if error was on sender or receiving side. Sending bank should be able to provide a screenshot of the payment message sent.