The choice between AABBs, OBBs, Spheres, Capsules... depends on the kind of simulation you are running and what your constraints (usually real-time applications) are.
You need to evaluate pros and cons and do your choice accordingly. For instance, tests with AABBs are very fast, but you need to recompute the AABBs when your object rotates. However, if you are handling very complex objects and deal with BVH, updating an AABB-tree is quite fast since you only need to recompute ("from scratch") the bottom AABBs, the higher ones being constructed from the child AABBs. With OBBs, tests are costlier but you will not need to recompute your OBBs if you are dealing with rigid objects.
If you decide to use deformable objects, the AABB tree (or Sphere tree) is definitely a better idea, since your tree will need to be updated anyway.
The question is : what will be costlier, the overhead resulting from the updating AABB-tree or from the overlap tests with OBBs? All of this depends on your simulations : objects complexity, average CD tests per sec etc... You can find some benchmarks of different CD libraries based on different methods (BVH, grids...) with different shapes, tested on particular problems. Here is an example that you might find interesting.
Concerning the implementation, since all of this has been researched years ago and implemented in many libraries, you should not have any troubles. You could take a look at Real-Time Collision Detection by Christer Ericson, all of those questions are answered and explained very clearly.
You can also use a mix between different shapes, e.g. one for the broad phase and another one for the narrow phase (once you reach leaves), but you will probably not need something like this.