Is it recommended to have Esri ArcMap MXD files under version control e.g. stored on SVN or TFS?
"Recommended" is subjective to your own organization needs and requirements. We can't really answer that question.
Instead, if you're asking "can I put an MXD into source control"? Generally, yes you can put anything into source control.
The problem with putting an MXD (binary file) into source control is there isn't a way for SC to understand differences. All it'll know is "the file is different in someway". So using SC for MXDs could be good for backup purposes. You corrupt or delete your MXD from today. Go grab yesterday's version from SC. I've worked with a few organizations who put their MXDs into Microsoft TFS. It allows many people to access MXDs and do updates: you then have a record who last updated it. Compared to a group of people trying to work off a single MXD on a network drive. So it suits their needs, it just doesn't benefit from seeing the particular changes to the MXD from checkin to checkin.