They kind of charge for Teams already, at least for some customers/users. In order to have a teleconference dial-in number, the user that created the conference has to have a license (I believe it’s somewhere around $10 p/mo). In my company, this is more or less a fundamental requirement if you interact in a customer facing role.
Word and Excel integration is one thing. In my opinion, the integration with Outlook is the bigger selling point. I want to schedule a teams meeting with a customer? Create a calendar invitation and click a button to make it a Teams meeting. Dial-in information is then automatically placed in the invitation. That same meeting (and the rest of mg Outlook calendar) is also now synced with my calendar in Teams, so now I receive alerts in Teams when someone starts the meeting, the meeting start time, etc.
Other services have integration with Outlook, but nothing like what Teams has, and to go against the grain a bit, that aspect of Teams’ UX is fantastic.
I think one thing many are missing is a lot of new Teams users aren’t using it for the Slack-like features (e.g., channels). Most of the people I’ve worked with on teams over the last 6 months use it solely for direct messaging, file sharing, direct phone calls to coworkers, internal meetings, teleconferencing, etc. for those purposes, Teams’ UX is more than adequate and I actually prefer it over Slack.
That is not to say it’s perfect though (dear Microsoft: please make changing input/output device settings more intuitive and well-behaved...).