Lots of water pump swap info out there, but all specific to the 6 cyl engines. Pelican Parts Z3 article is pretty close, but just wanted to throw up a few pics to confirm what's involved on the M43B19 engine. Hadn't done a Water Pump before, took me an hour. Mechanic should be able to do this in half that time pretty easily.

1. Read: http://www.pelicanparts.com/BMW/techarticles/BMW-Z3/30-WATER-Water_Pump_Replacement/30-WATER-Water_Pump_Replacement.htm

2. Watch YouTube videos on E46 water pump removal.

3. Make tea (or better still, get her indoors to do it while you scratch your head and have a good look in the (cold) engine bay.

4. You'll need an 8mm, 10mm, & 16mm spanner/socket. H5 & H6 Allen keys. magnetic bolt holder is a really good idea too.

5. Access is really good, loads of space to get at the front of the engine block. Use ratchet with 16mm socket to loosen belt tension

1.jpg

6. Remove pulley wheel and pump as per links above. . (it only dawned on me to take pics of the process after I had removed the old pump, the eagle eyed among you may have noticed this from the pic above...)
Two different sized Allen bolts for the pump itself. I found it best to use hex head sockets on a small ratchet extension. Long T handle Allen keys foul on hoses etc

2.jpg

7. Tea (and hands) now getting cold. Retreat to house for biscuits.

8. Fit rubber seal to new water pump. Clean gick on block from old pump.

3.jpg

9. Offer up new part to block. Tighten bolts in X pattern, pump doesn't push home completely by hand. Tightening too much on one side will skew it. I used WD40 on the bolts before reinserting them, copper grease would prob have been better but hadn't any to hand.

4.jpg

5.jpg

10. Refit belt, check it's secure (several hundred times). Refill coolant. Recheck belt. Cross fingers and start engine. Bleed cooling system.

6.jpg

11. Beer.