Create flowsheet-like graph

I’d like to create a graph that resembles a flowsheet in process simulation applications. A concrete example would be this graph:

enter image description here

I was able to recreate it by manually specifying the vertex coordinates:

streams = {"feed" -> <|{"From" -> "RefineryFeed", "To" -> "Mix"},       "Class" -> "Product"|>,    "mixedFeed" -> <|{"From" -> "Mix", "To" -> "Flash"},       "Class" -> "Product"|>,    "flashVapour" -> <|{"From" -> "Flash", "To" -> "RefineryProduct"},       "Class" -> "Product"|>,    "flashLiquid" -> <|{"From" -> "Flash", "To" -> "Split"},       "Class" -> "Product"|>,    "splitProduct" -> <|{"From" -> "Split", "To" -> "RefineryProduct"},       "Class" -> "Product"|>,    "splitRecycle" -> <|{"From" -> "Split", "To" -> "Pump"},       "Class" -> "Product"|>,    "pumpRecycle" -> <|{"From" -> "Pump", "To" -> "Recycle"},       "Class" -> "Product"|>,    "recycleFeed" -> <|{"From" -> "Recycle", "To" -> "Mix"},       "Class" -> "Product"|>    };  flowsheetGraph =   Graph[Labeled[streams[[#, 2]]["From"] -> streams[[#, 2]]["To"],       streams[[#, 1]]] & /@ Range [Length[streams]],    VertexShapeFunction -> "Square", VertexSize -> Large,    VertexLabels -> Placed["Name", Center],    VertexCoordinates -> {{0, 0}, {1, 0}, {2, 0}, {3, -1}, {3, 0}, {3,       1}, {1, 1}}, DirectedEdges -> True] 

enter image description here

Now I was wondering if there was a way to create a similar graph without manually specifying the coordinates. If I omit the VertexCoordinates Mathematica does a good job at selecting coordinates for the vertices, but it would be great if the appearance would be more “grid-like” like in the graph above.

enter image description here