자주 사용되는 스타일 집합을 테마형태로 묶어서 사용하는 방법 정도가 유효하지 않을까 싶습니다.
예를 들면, display:flex, justify-content:center, align-items:center 같이 중앙정렬을 하기위해 자주 사용되는 스타일을 centerBox ( props ) 가 true 일때 사용되도록 테마형태로 축약표현을 할수 있을것 같습니다. 이렇게 되면 외부에서 주입하기 위한 스타일 값 (문자열형태로 내려주는 props) 를 좀더 줄일수 있겠네요.
스타일링을 외부에서 props 로 전달받아 커스텀 할수있는 범위가 넓을수록, 전달받는 props 도 많아 지고 손이 많이 가는것은 어찌보면 피할수 없는 일이 아닐까 싶습니다.
또한 필수적으로 받지 않아도 되는 값은 optional 하게 전달 받도록 설계해서 (ex: props 에 gap 값이 없어도 문제없도록 되도록 타입 지정) 필요하지 않은 css 는 굳이 props를 내려주지 않아도 되도록 해주면 될것 같아요.
단순히 스타일링용 props 만 좀 줄여서 표현하고 싶으시다면, 2번 코드처럼 spread 해서 쓸수도 있긴 합니다. 하지만 저는 별로 좋아하지 않는 표현 방식입니다.. 나중에 어떤 props 를 전달하고 있는지 추적하기가 어려워져서 수정이나 디버깅에 불편함이 많습니다.