The train can go 100mph maximum. In fact I wouldnt be surprised if it does as it nearly always arrives early up the WCML. Actually, I heard in places it is timetabled for 100mph. Wouldnt surprise me if it goes 100 between Crewe and London.
However, why does it take so long. Well, as mentioned, its not designed to be fast. It has plenty of slack time in the timetable, and is always, as mentioned, arriving early on the WCML, esp Northbound. Southbound it usually arrives off Preston 20mins early. The times ive used it recently its always been held at signals outside the station. But it can go in early, and assuming all joining crew are there, it will leave early.
North of Edinburgh, all the stops, and speed restrictions on the FW leg, make it a slow journey, but again, its fine as it doesnt need to be fast.
Also, you mentioned the first stop being Stirling. Yes, the first dropping off point. Remember the picking up stops at Watford, Crewe and Preston though. I think it picks up at Watford anyway. Certainly it stopped there last time, unless it was signals.
Then, as mentioned, the time it sits in Edinburgh.