Yes and no. Let me explain it:
Yes because -> As many people pointed out, maintaining a server costs lots of money. Not to mention that they have to secure the server (DDoS, hacking, stuff like that), and deal with many complex things (I won't put it here, but you should know that those are tedious things). They also often have to update the algorithm that checks the legality/status of the sent "data" (okay, not really data, since those are Pokémons), which might costs them an additional test server/computer.
No because -> Of course there are many things to do that are expensive, but, aren't games and consoles expensive enough (it's even worse in Brazil and countries in South America) ? And, shouldn't we be able to access at least to one, free box just for transfer purposes ? I mean, you've paid for the games, so, why should you pay to transfer your data to the "next-gen" games ?
It sounds evil, no ?
Conclusion: Though the idea of paying sounds horrible to transfer data, unfortunately, we have to deal with it, as all the income GameFreak might make from PokéBank goes for the server maintenance, and the guys who work on them, so, it's kinda like a 50/50 situation, finally.