From what I can tell Durham's CS course is good, although it depends somewhat on what you want to do. It has a good deal of "applications/software engineering" type options, but also notably has quite a lot of theoretical CS options which tends to be a bit "rarer". Warwick is very strong in CS overall, and has a very broad range of options including some good theoretical ones (I'm noting these since as above they're less common).
My impression is that CS is one of the weaker departments at UCL, although improving. Certainly, Warwick is head and shoulders above the CS course there overall, and Durham is probably about on par but with slightly different options as to what you can specialise in (and slightly fewer, I believe - but more if you consider the vast plethora of options available outside the department via NatSci CS). I would put Bath above UCL for CS specifically as well, personally.
There was a thread in which I made some comments about CS & Maths joint courses in the last week or so - you should be able to find it through my profile. You might find some of them helpful Re: reapplying for CS & Maths. There are also a lot of other comments in that thread generally. However if your plan is to go and work in industry, then any of your choices are more than suitable (either in computing or more general business areas). If you want to go into academia it depends somewhat on what you eventually research - somewhere with more options may be better than less, although generally more mathematical courses with more theoretical options may be preferable, as in academia "programming" isn't something they're likely to care about so much (so doing 5 software engineering options in different languages isn't really that relevant for them - they want to know you can program, at all, they aren't so fussed about all this lean and agile stuff unless it's some industrially sponsored modelling project which is probably hosted in the engineering or business departments rather than CS).