It all boils down to for you as well as the banks, if the fee is reflective of the charges that you incur then its not illegal; AND so long as its not a penalty i.e. a punishment as such, just because they're late paying. I would love to be able to charge extra just because its an inconvenience and plays havoc with my cash-flow, but its not legal, so no can do.
The banks are it seems reducing their charges for unauthorised overdrafts, late payments etc etc, but it's likely to come to light that the £12.00 fee they're charging is still over the top,;its commonly thought that the cost to the banks for these transactions is somewhere in the region of £2.50. A recent court case between the OFT and a number of the banks regarding these charges, which wont be decided upon until the Autumn, is likely to make the banks reveal the true costs of those charges in court, it will then be common knowledge as to the extent that penalty charges have been ripping customers off.
So, even though the banks tell you their charges are this, that or the other doesn't make them legal; if I was walking down the street and told someone I was going to punch them in the face it doesn't make that legal just because I told them I was going to do it beforehand.
Matt