One thing that strikes me in your post is the
"Pro takes about 3 minutes 21 seconds to load the stops and then it endlessly runs while drawing the routes."
remark.
I have no solution for you, but I have had some bad experience with Pro and tools or custom models that interact with the TOC (e.g. adding layers) that require re-drawing. As Pro always seems to trigger immediate re-drawing whenever something changes in the TOC, and the re-drawing seems to heavily influence a currently running tool in some cases, I have seen some tools almost grind to a halt... Unfortunately, it seems that Pro's geoprocessing tools are not completely separated from the drawing engine, despite the app being multi-threaded.
While I can to some extent understand that Pro triggers immediate re-drawing with any change in the TOC, in my opinion this should never hold up geoprocessing tools, and any subsequent changes to the TOC (addition of a new layer) should ideally immediately stop execution of any running drawing process, so as to avoid any long delays caused by unfinished drawing processes. This is especially so, since any subsequent change to the TOC, of course invalidates any currently running drawing process. If a layer is added or deleted from the TOC, the drawn map frame needs an entire refresh, so it would be best to immediately halt execution of any draw process going on.
I even see Pro trigger "re-drawing" with the spinning wheel, when the entire map frame of a layout is set invisible by unchecking it in the TOC. This holds up execution of tools for seconds without a clear reason: why would it need to re-draw the layout when there are no visible features at all?