Kanto: All named after (uncommon) colours.
Johto: They are a mixture of plants/trees and colours. For example Mahogany is a type of tree but also used to refer to its colour. Ecruteak comes from Ecru (a colour) and Teak (a tree). Olivine comes from olive (a plant and colour) and vine.
Hoenn: They are mainly combinations of plants or metals with geographical features (natural and man-made). For example, Dew+Ford, Petal+Burg, Rust+Boro (borough) and Slate+Port.
Sinnoh: There isn't really any common theme here but the towns are named after their purpose/mood. Floaroma has lots or flowers and aromas, Jubilife is hip and happening so it's based on 'jubilant' and 'life', Solaceon comes from 'solace' meaning comfortable/relaxing.
Unova: All the names come from cloud formations and terminology.
Source: http://pokemondb.net/pokebase/46087/city-name-themes