I started with TextExpander. Then I found that it didn't behave in CafeTran – or the other way around. I migrated my text shortcuts to Typinator and used that for some years.
Then I migrated to Java 8 on El Capitan and suddenly Typinator caused CafeTran to freeze when expanding text shortcuts.
So I tried my TextExpander (which is rather old) and guess what: it behaves nicely.
TE has the huge advantage that you can define drop-down menus with snippets. One for your correspondence, one for your bookkeeping, one for your CafeTran abbreviations etc.
BTW: If you're wondering why I would use a text expander, when CafeTran also offers such a feature, here's why: