So after the semi-disastrous replacement of the control arms on the 330Ci (which involved the garage cutting sections out of my car and re-welding them), when the windscreen washers went, I wasn't looking forward to more costs. However, the motors could clearly still be heard, which implied something else was wrong. So, I pulled the washer tank out of the car to investigate. The only tool needed here is a 10mm socket and wrench to remove the bolt that holds the tank in place.
The object trailing from the cable to the left is the windscreen washer pump motor. There's another inside the engine bay that runs the headlamp washer, along with another cable that connects to the washer tank level sensor. I then checked over the tank itself.
I figured something must be wrong when no liquid started pouring out of the holes in the bottom. Pulling the filters out revealed: this!
Ewww.
A bit of washing up liquid and a brush later, back to factory finish. The left one is the headlight washer filter, the right one is the windscreen washer filter.
I gave the tank a bit of a clean and removed the old washer fluid as well (it was a bit sludgy in there as well).
That is cleaner!
I then replaced everything, tightened the 10mm bolt that holds it all in and...
Yay! Result. Estimated cost at garage - £40. Actual Cost 0.0.