In my opinion both has strong and weak point.
I love how flow can capture generic for higher order function and I love flow non-null types.
In the other end typescript seems 'safer' especially in the field of type inference, sometimes flow infer union types where you really would not expect to happen. Which ends up with some weird bugs.