Switchtheme is a user-driven theme switcher with a couple of automatic options. It provides a couple of blocks (displayed via a custom Switchtheme permission) where a user can select a theme to choose on a per session (or user account) basis.
Its automatic (admin configured) solutions are:
- A per-browser automatic switcher through the Browscap module
- A per-URL switch through adding a ?theme=theme_machine_name query parameter to the page request (e.g. http://example.com/?theme=seven)
ThemeKey is a combination of user/admin driven theme switching based on various settings & rules.
Its theme switching solutions provided are:
- A per-alias solution that allows to set a theme for each Drupal alias
- A per-node solution that allows a permissioned user to set a theme for any node they create (as well a default option).
- A per-user solution that allow a user to set a default theme for their configured account.
- A chain of custom rules that evaluates various Drupal system, user, comment, node, taxonomy, and Views properties.