Just found myself wanting this, nice to see there's interest in it. Couldn't find anything which does it, so I might create a plugin over the summer if I find the time.
I use Git from the command line though, so I was thinking that the Sublime plugin would just monitor the current branch and silently update which files are open when the branch changes, rather than using a Sublime command to trigger branch changes. I guess both could be supported, with the option to switch between the two as a preference.
You'd want to preserve as much state as possible – preserving open files is essential, but scroll position in each file would be nice as well. Never looked at the Sublime API so I'm not sure how difficult that would be.