Currently, Cache and Run Workflow cannot be used if there's a second branch of data which goes around the tool which you want to cache. This slows down intermediate runs especially in complex workflows with a lot of inter-dependencies.
For example:

If you want to cache at the formula "Do something", Alteryx will not allow this because a single temporary cache file at this tool will not be sufficient:

My suggestion is that Alteryx allows multiple cache files for one single cache event. In this case:

Proposed process:
- Run the cache run from the initial source(s) of data (here the Text Input tool) via all tools needed to produce the output of the selected tool (here Formula "Do something"). In this case: Text Input, left Select, Formula.
- Produce a cache file for every tool which has a connection towards outside of the direct tool chain. In this case: Cache file 2 (as Alteryx does it today), Cache file 1 (new behaviour)
This way, I could use Cache and Run Workflow much more often which would save me a lot of time.