I used slate in one of my projects but replaced it eventually with draft.js.
The biggest pain points were:
- Not stable yet. A lot of breaking changes between releases, so you have to update your code frequently
- Breaking changes often introduced new bugs
- Big in size (even bigger than draft.js)