Does the water ultimately reach the tank?
Snails, 20 bytes

\S{d(=\#n)?^#},!(t\E


Prints 0 for the falsey value and 1 for the truthy value.

Try it online!


\S matches S at the start
d sets direction to down
{...}, matches the stuff in braces 0 or more times
=\# is an assertion which succeeds if there is a # char ahead of the snail, but does not move it
n turns 90 degrees in either direction
(...)? matches the pattern in parentheses 0 or 1 times
\ ​ matches a space and moves the snail onto it
!(... is a negative assertion
t teleports to any unmatched square in the grid
\E matches E