Hej Anders!
Version control is one of EA's weak spots. There are several features which can be used, none of them perfect: external version control of exported XMI files, baselines, auditing to some extent. For an organization that knows about version control in general and the issues around it, I strongly recommend implementing a version control scheme using the Reusable Asset Service, or RAS. (If you search the forum you'll find older posts by me recommending baselines; RAS is like baselines but with more features.)
With RAS, models are stored in a centralized storage, and uploaded/downloaded to EA projects. There is a diff function to show the differences between the model in storage and a project, and dependency management between models. There is also access control so only certain people may upload models, while others may download them. On the negative side, there is no way to compare two stored versions or even download an earlier version of a model from storage -- you can only access the latest version. But the older versions are still in there, so they could be extracted with a bit of work.
There is no branching, but if that's a key requirement it could be implemented using multiple storages.
RAS is more of a chore to set up since it requires the cloud server, but it's in my opinion the best solution. I haven't looked into time-aware modelling in any detail, but it looks to me to be more of a local feature used within a single project, not something suited for an enterprise deployment.
Whatever solution you choose, you need to be aware that for anything like an enterprise architecture you will need to do a bit of work yourself. EA has no concept of a configuration item, so you have to determine what constitutes a CI in your environment. This is crucial for any version control scheme to work outside of a very small team or a time span of a few months.
With the setup I outline, there are never two versions of a model in the same project. Each version-controlled model is maintained in one project, but accessed in several others. That's not how you described your requirements, but you also said you wanted a merge function and access control, which RAS has but I don't think time-aware modelling does.
The short answer is that there's no simple solution or single best practice. It is possible to set up some sort of version control in EA, but for it to be useful you do need to sit down and think about how you want to work.
HTH,
/Uffe