It is easier to write reactive programs functionally. It is not easier to write them to perform faster by using functional programming. Reusing mutable state is often faster than creating new immutable objects all the time. So if you are using the reactive programming for performance, I wouldn't use functional programming.
Often developers feel they have to use multiple threads or cores, because they are there. This is like saying you need to use 100% of disk space or you are wasting it.
IMHO you should only add the complexity of multiple threads if it improves performance and it is the simplest way to achieve this improvement. What is often forgotten in the discussion about making concurrency easier is that the easiest solution is to use one thread, and, unless you have proven your solution is faster than that, you haven't convinced me that using multiple threads was ever helpful.