The primary reason to have transfers cost money is greed. The most common cited reason to have transfers cost money is to prevent people from transferring too often. If greed is not an issue, a free transfer every month would be more than sufficient to deal with any potential abuse, but there's no reason for companies to not charge you for something if they think you'll pay for it.