FrameMaker and Interleaf did this pretty well. And SGML-based tools, and TeX/LaTeX, of course.
The Microsoft Word way has always seemed to support styles more like they were grafted on as an afterthought, without wanting to disturb the least-knowledgeable users, to the point that knowledgeable users have to tiptoe around all the UI that breaks styles.