Even doing instant run is quite slow for us; we have taken to creating stub flows which dynamically launch the flow we want to run faster. Obviously this means the flow you launch must be capable of running headless.
The reason for the slowness is this: that during flow execution input dialog boxes are displayed for user input above the step execution area. But the web interface takes a very long time before it decides to display each input box.
However, if you keep on refreshing the step execution window while waiting for the dialog box to appear (by changing page or enabling/disabling the automatic refresh option) then the input box will appear in its proper time.