In this paper, we investigate dynamic base station (BS) switching to reduce energy consumption in wireless cellular networks. Specifically, we formulate a general energy minimization problem pertaining to BS switching that is known to be a difficult combinatorial problem and requires high computational complexity as well as large signaling overhead. We propose a practically implementable switching-on/off based energy saving (SWES) algorithm that can be operated in a distributed manner with low computational complexity. A key design principle of the proposed algorithm is to turn off a BS one by one that will minimally affect the network by using a newly introduced notion of network-impact, which takes into account the additional load increments brought to its neighboring BSs. In order to further reduce the signaling and implementation overhead over the air and backhaul, we propose three other heuristic versions of SWES that use the approximate values of network-impact as their decision metrics. We describe how the proposed algorithms can be implemented in practice at the protocol-level and also estimate the amount of energy savings through a first-order analysis in a simple setting. Extensive simulations demonstrate that the SWES algorithms can significantly reduce the total energy consumption, e.g., we estimate up to 50-80% potential savings based on a real traffic profile from a metropolitan urban area.