Latest Best Practise: Reusing content/functionality between Drupal 7 sites
There are two more options to consider:


User Drush make to create your own distribution: 


  Drush make is an extension to drush that can create a ready-to-use
  drupal site, pulling sources from various locations. It does this by
  parsing a flat text file (similar to a drupal .info file) and
  downloading the sources it describes. In practical terms, this means
  that it is possible to distribute a complicated Drupal distribution as
  a single text file.

Run your sites in a multi site environment. This way you can easily reuse all installed modules and themes.


  If you are running more than one Drupal site, you can simplify
  management and upgrading of your sites by using the multi-site
  feature. Multi-site allows you to share a single Drupal installation
  (including core code, contributed modules, and themes) among several
  sites.