A technological milestone for experiments employing Transition Edge Sensor (TES) bolometers operating at sub-kelvin temperature is the deployment of detector arrays with 100s--1000s of bolometers. One key technology for such arrays is readout multiplexing: the ability to read out many sensors simultaneously on the same set of wires. This paper describes a frequency-domain multiplexed readout system which has been developed for and deployed on the APEX-SZ and South Pole Telescope millimeter wavelength receivers. In this system, the detector array is divided into modules of seven detectors, and each bolometer within the module is biased with a unique ~MHz sinusoidal carrier such that the individual bolometer signals are well separated in frequency space. The currents from all bolometers in a module are summed together and pre-amplified with Superconducting Quantum Interference Devices (SQUIDs) operating at 4 K. Room-temperature electronics demodulate the carriers to recover the bolometer signals, which are digitized separately and stored to disk. This readout system contributes little noise relative to the detectors themselves, is remarkably insensitive to unwanted microphonic excitations, and provides a technology pathway to multiplexing larger numbers of sensors.