Если вам постоянно нужна переносимость множества блоков, то просто задайтесь целью и сделайте стандартный набор собственных компонентов, для каждого из которых будет свой css/images/html/js код.
А в новый проект вставляйте как в БЭМ, то есть у каждого компонента своя папка, в которой лежит все к нему относящееся.
В итоге: простая навигация, хорошая модульность, а минификаторы типа grung/gulp объединят это все при сборке и производительность не пострадает.
Если без всяких бэмов, то все просто.
Есть блок со своим уникальным классом и подклассами, создаете под него файлик стилей, пишите туда стили конкретно для этого блока и его внутренних элементов и все.
С использованием препроцессоров это вдвойне удобней.
Главное не смешивать стили нескольких компонентов, если возникает необходимость засунуть один компонент в другой, то соответственно стили должны быть разные.