We’ve used 100% Niagara for our 2 latest projects, (we’re a 50-100 people studio). The first project was a bit difficult because Niagara was pretty unstable back then. This time around we are very comfortable with it but it still requires our Engine programmers to go in and fix things here and there, not nearly as much as last time though.
Personally, in production, I’ve been using it for about 1 year and it’s been pretty smooth, i definitely think it’s production ready, it would help if you have programmers capable of fixing issues here and there though. One minor inconvenience is whenever we pull a new build, it’s a bit of a hassle to go through all the systems to fix deprecated modules, this doesn’t happen as much lately though.
Before Niagara, i was using Cascade and i honestly don’t think there is too much of a difference, the UI is different of course, but the logic is still the same. You do have a lot more power with Niagara though and if you pick up Niagara scripting as well, the possibilities are pretty much limitless. That is probably the only issue i have with Niagara, up until very recently there was pretty much no documentation for it. Some very basic Niagara scripting examples would go a long way to help beginners get into it.
If you or your studio is already working in UE4, i would say try to make the switch to Niagara sooner rather than later, i personally don’t see a reason to cling to Cascade longer than you have to.