I have had this problem many times, but never found a good solution. I have tried (and used, imperfect as they were, mostly because I didn't have a better way) several approaches.
The one you propose. The problem is: what happens when you change a slider? If you change the amount next to it, the functionality would depend on the order of pots. What if you want to shift money from A to C? You'd have to first move slider between A and B, then B and C. It gets progressively worse as you have more pots.
With a bar chart. Each pot is represented with a bar (duh). What I did at first when a bar was lowered was to distribute it over other bars; you could select them with a check box. That way you could lower bar A with 10 dollars, and if you had checked bar B and C but not D and E, then B and C would increase with 5 dollars. This looked good visually in demos (hey look when you move the bar the rest moves too!) but worked crap in practice. Nobody could figure out what the checkboxes were for until you told them.
Simply let the user enter numbers, in normal entry boxes, in a list. This looks crappy but is very understandable and fast for real users (i.e., users who actually use the product, not just gee and gawk at pretty interfaces). However the big problem is (as always...) modality. When do you check if the numbers add up to the required total? I always checked the totals of the numbers as they were being entered, and displayed the background of the edit boxes red if they didn't add up correctly. In another case I just moved the whole thing to a modal dialog so that I could check it there. Of course modal dialogs are always a cop-out.
The next time, I want to try the following (if I have time): represent each pot with a circle with the amount in it, and all those circles (each pot) are arranged in a circle themselves. Each circle, when you select it, shows additional UI controls that says 'move amount:' and an edit box and a spinner. You can enter an amount there, and then drag it to another circle. This way, you can move money from one circle to another, and the total will always remain the same. Disadvantage is that you can't easily see how the total amounts in each pot relate to each other proportionally (maybe by using the circle size?) and that you can't split money over multiple other pots (which is something I may be willing to sacrifice). Maybe I would order the circles from big to small, so that it would look like a shell spiral pattern of some sorts, that would show the user relative positions immediately. When the amounts are close to each other it may not add much though and the jumping of the circles may be confusing. I'm not sure yet, there's quite a bit of room for experimentation :)
(in my use cases it wasn't usually money that was moved around (although it was in a few cases), but that makes no difference for the UI of course).
Edit:
By request, here is a mockup. In this case, the circles are sorted by size. Maybe a fixed position is better, I guess that would require experimentation.
download bmml source – Wireframes created with Balsamiq Mockups