I agree with both answers! ....as long as its just water then it's not a problem...but if it's juice or milk then possibly just switch to water. Tell him it's either water or nothing...you pick. That is what I tell my 2 yr old and respects that.
there is no weaning at that age, you are either going to stop the habit or continue it. And really since a 4 yr old cannot be expected to have much self control, its up to you to do it. from experiance, if you get rid of the sippy cups it will only be an issue for a day or two. Course my kids were younger so I don't think it was as difficult as it would be with a 4 yr old.
I'm just curious, is your 4 year old potty trained? Do they wet the bed? I know if my son has anything to drink after 7 pm, he wets the bed. He was done with drinks before bed long before we even potty trained him (probably before he was 2). I think we just stopped doing it one night, and he was fine. He gets a few sips of water after he brushes his teeth. That may be a good compromise. Let your child have a small cup of water (like those little paper cups you keep in the bathroom) after s/he brushes teeth.
I would just get rid of them. Try picking up some cups with lids and straws instead. I found some at Target or Walmart that are great in the baby section. At least then, it will be more of a big girl cup and she will have a drink, too!