This is the unadjusted cycle.travel recommended route. I have ridden about 99% of it, and I can recommend it quite highly, especially if you have wider tyres than a road bike - a gravel bike would see you very well on this route. I managed on a narrow-tyred single speed.
There are short sections of mud, dirt and gravel but I think cycle.travel's estimate of their sizes are accurate.
Most of the Basingstoke Canal towpath is in fact a very good, hard surface and it's only when you reach west of Brookwood (going from London to Winchester) that the surface becomes muddier. I stuck with it and got dirty, but there are nearby roads (the parallel Gole Road, then Gapemouth Road, is actually the recommended route) which work as an alternative.
Things to be aware of:
On my route owing to a faulty phone and a misplaced sense of ambition I missed a near final turning after Northington (on Northington Lane), signposed toward Itchen Abbas, and followed a sign direct to Winchester. Do not do this unless you intend to continue over the A33 onto an unpaved track towards South Wonston, as the A33 is a busy, fast dual carriageway with no shoulder or pavement. Avoid.
Instead take the left to Itchen Abbas and Easton, entering Winchester via Winnall.
This route has some small climbs but is mostly quite flat.