Уважая Angular стиль кодирования, первое решение лучше. Создайте material.module.ts и импортируйте его в shared.module.ts
Разница между этим решением и вторым (импорт только используемых модулей), вероятно, слишком мала в производительности и будет сложнее поддерживать.
В любом случае, в вашем material.module.ts вы можете импортировать только используемые библиотеки в вашем приложении, а не весь пакет материалов. Если вы используете модуль отложенной загрузки, все модули, используемые в модуле отложенной загрузки, будут загружать все содержимое, поэтому ... будут загружаться все импортируемые материалы.