That Debian patches are all mashed up together is not true in general. A lot of source
packages keep their patches nicely seperated under debian/patches and use one of the available
patch systems to apply/unapply them at build time etc. This has been sort of recommended
behaviour for several years now.
The discussed problem is mostly with source packages maintained in a distributed version
control system, where it is unfeasable to break up the involved feature branches into mere
patches, so they are shipped as one big patch mashed together. this is suboptimal for people
looking at the .diff.gz, but on the other hand, the source package control file should also
include information on where to find the revision control repository. There is, however, no
central RCS for Debian source packages.