Cut stems in tap water form bacteria. That's what creates the slime and discoloration on the stems and that is where the stench comes from. Changing the water regularly can help, but if the bacteria has started, unless you thoroughly scrub the stems, the slimy stems are just going to make the fresh water a breeding ground too.
Here are some very easy and cheap things you can do to keep your cut flowers fresh longer:
1) Cut the stems on a diagonal about 2 inches from the bottom right before you put them in the vase (it is not necessary to do this under running water- as long as you put them in water pretty quickly). Cutting on a diagonal helps prevent the stems from being pressed flat against the bottom of the vase- which would make it hard for the stem to suck up water.
2) add some flower food (usually a small packet comes with cut flowers), or a 1/4-1/2 tsp of white granulated sugar. This will help the flowers open and stay bloomed longer.
3) add a small amount of chlorine BLEACH. For small vases, I use about 1/4 tsp, for larger vases, 1/2 tsp is plenty. This tiny amount of bleach won't hurt the flowers, but it WILL slow the growth of bacteria, which will keep the water and the stems fresh for a longer period of time.
4) Every 3 or 4 days, change out the water and add the bleach again.
Doing these steps will help your flowers last longer. Remember, if you buy flowers from a grocer or other non-florist/non-floral designer, it is likely that the flowers have been cut for several days already. You can still extend their "shelf life", but it is likely to be shorter than if you bought the flowers from florists or floral designers that can get them straight from suppliers and farms.