Las interfaces se usan sobre todo para que el lenguaje TypeScript permita que se detecten errores a la hora de programar, de manera temprana, ya que el propio compilador te avisaría de ello. Además, permite también que el propio editor te ofrezca ayudas contextuales, ya que estás detallando el tipo de objetos y sus propiedades.
Esas son las ventajas que yo encuentro al uso de interfaces de TypeScript, ya sean en componentes o servicios o allá donde las tengas.
Ya para el tema que tú estás comentando creo que se trata algo más relacionado con la "componetización". No creo que exista esa palabra, pero me refiero al hecho de crear componentes que encapsulan las complejidades de determinados tratamientos y permiten descargar de código a otros componentes más grandes. Esto lo haría con vistas a la reutilización también.
Agrupar variables sin que exista una correspondencia entre ellas, solo porque un componente las usa todas juntas, no lo veo claro.
Por lo que entiendo en tu pregunta creo que el camino sería más usar un contenedor global de datos, lo que sería Redux, que te permite descargar de código a los componentes en todo lo que es tránsito de la información entre unos y otros, los procedimientos para actualizar el estado y la lógica de las acciones. Creo que este camino está más cercano a las prácticas establecidas comúnmente por la comunidad de Angular.
Espero haberte aclarado algo.