The thing with mac & cheese is that it only comes up 'runny' …once.
I often make too much [intentionally] & have more the next day. The next day though, it becomes a new thing… more like cake. No more 'runny', you can cut it with a knife & it will stay standing.
The reasoning behind this is three-fold.
- Cooked pasta alone in a dish left overnight will continue to gelatinise & clump together into one 'chunk'.
- A roux-based sauce will also naturally set as it goes cold.
- The pasta will pull water out of the sauce, thickening the sauce still further.
So if you prepare any part of it beforehand, you will never get back to 'runny'. You could get away with doing the mushrooms, but not the pasta or cheese sauce.
Well, maybe if you slightly under-cook the pasta & oil it; then keep it moving as it cools.
A roux itself should never be grainy. So long as you cook roughly equal weights of butter and flour for a couple of minutes before adding milk, then there is no graininess at all. For temperature, so long as the butter goes a bit frothy then it's hot enough; you'll know if you burn it, you'll smell it. You don't even need warm milk, if the flour is cooked before the milk goes in, it will work - no matter how panicky you feel when you see the first addition looks like it will never mix together, you just keep stirring until even consistency is reached. I was always taught to add the milk a bit at a time & stir to even texture before adding the next bit - but I was taught by a restaurant chef who makes it by the gallon. Home cooks tend to pour all the milk in one go [I've never dared, I know my way works].
A roux should strictly be cooked until it just starts to change colour towards brown before the milk is added. The more brown the stronger the flavour. For a cheese sauce this should be minimal, just slightly turning colour; for such as a Cajun roux, you go much darker - see SpruceEats, Traditional Cajun roux for an example.