Конечно, это одна из самых c основных функций стилизованных компонентов.
Один из способов - создавать разные компоненты:
const MyButton = styled.button`
font-size: 12px;
border: 1px solid red;
`;
const FooButton = styled(MyButton)`
color: red;
`;
const BooButton = styled(MyButton)`
color: blue;
`;
Другой способ - использовать props:
const MyButton = styled.button`
font-size: 12px;
border: 1px solid red;
color: ${({type}) => type === 'foo' ? 'red' : 'blue'};
`;
...
...
<MyButton type={'foo'} />
И что касается вашего исходного вопроса, вы можете это сделать. Но в большинстве случаев менее "стилизованные компоненты" i sh использовать таким образом имена классов.