I guess that depends (E36M3 vs E46330) on what you're looking for from the car. Having driven both, extensively, I will say that the M3 is a much more engaging car to drive and the 330 is a much nicer car to drive. Both are fast/powerful enough to get you into trouble if you're not careful, but the M3 (stock for stock) turns and stops better than the 330 - if the shocks are still good and the bushings are intact.
At 70k miles, things begin to fail on all E36s - Check this list to see what to look for
- I haven't looked through this thread in a while, so I'm not sure what's been covered and what hasn't.
I will say one thing, though, if the car has overheated, stay away. There is a likelihood that the headgasket is blown, which is a $2k job for a good independent mechanic, which isn't an absurd charge for a car as fun as the M3. What *can* happen with that, though, is a warped or cracked head, which means a full rebuild, which can cost upwards of $2k ALSO, including the cost of a used head.
That said, if the car checks out (M3) well from a pre-purchase inspection from a good
independent mechanic, and you take care of hazards that (s)he may find, the car can serve you well for a long time. I know two people with almost 200,000 miles on their E36 M3s and know of several more with over 200k.
With the E46 you get a more modern build, an equally reliable engine and similar issues with the car as a whole as you'll find in the link above. If the cost to just get into the car (sale price) is close enough, the E46 might be a better option, simply because of the newness of the car.