Blender is a 3D editor, one of the best. Three.js is a 3D JavaScript library, top-notch. To draw an analogy, they’re like Photoshop and the HTML canvas. While you can edit images programmatically on a canvas, it can be inefficient and may never achieve the polish Photoshop provides.
The best workflow combines both: use Blender for what it excels at, 3D modeling, animations… And use Three.js for displaying and interacting with the imported models. You can create multiple animations with blender, and trigger them with three.js.
Alternatively, if you’re more comfortable with Three.js and the animations are simple, you can create them there instead. It really depends on the complexity of your models and animations, so it’s up to you to choose the approach that works best for your needs.
And here’s an interesting discussion on the topic: