SMS is unbelievably insecure. I am a rank amateur but I have done things with SMS that should not be possible. I have emailed all the networks to explain the problem but none of them have responded.
I prefer the token thingy my bank gave me. Insert your direct debit card, enter two numbers from the screen (usually corresponding to your transaction in some way, to confirm _again_ that you're really trying to send money to account X) and generate the TAN. Done.