I think it's a pretty solid idea. It reminds me of the guild system they have set up in WoW. With buffs/ team bank and all.
I think buffs and such should also have some contribution, as stated above, so I wanted to say I agree to that, definitely.
It avoids having someone who believes in the silver platter concept.
Also, if I may add? - leaving teams, the way the system worked in the other game I played, if someone left the team, basically your achievements and contributions you've made towards the team will be erased completely when you join another one, unless you decide to rejoin and it remains. It was moreso called 'reputation' as well, if you're team hopping, or if you're not contributing you're not establishing that rep. Know what I mean? That's an idea I can contribute to this, maybe kind of warp it a little bit.
I also know the other argument, that someone may not like the team they're in and want to explore their options, which is understandable. So, maybe getting a feel for the people there, what the team's focus is and not contributing until you're fully sure you want to be reputable in that team. As for my own experience, it took me quite a bit in the other game to sit in a Guild I wanted to be in and when I did, I was there for years.
I hope that makes sense?
I do feel like more could be done with the team system, too. Again, awesome idea! :D