TFS2010 very good? Oh, my.
I've seen: check-ins transpose lines on check out; complete failures to update to actual latest versions of code; and random check-outs of code with no local changes.
Other fun aspects: can't unshelve to anything but the changeset that the shelf came from; industry worst? merge and diff tool; no non-connected way of getting changeset info for automatic version information; despite being a centralized model, local workspaces can't be moved (say, in the advent of hardware failure on a development machine). The only way I can be assured that the check-in state actually correlates with what I have locally is to manually run a compare over the project directory and check.
It's also terribly, astonishly, slow over a VPN. Start typing to make a change, only to have all but the first character thrown away as TFS laboriously attempts to check out the file first.
It is so crushingly painful to use now, that I honestly can't imagine they've fixed all their shit in two years to make TFS2012.