It looks like the I2C interface can operate 100kbps on the standard (arduino-capable) mode -- what does that mean in terms of output frequency range?
I don't understand the limitations of PWM, but regular DACs work with PCM.
With PCM, you sample the "height" of the waveform at regular intervals at a pre-determined bit depth. Audio CDs are sampled at 44.1kHz (44,100 times per second) at 16-bits x 2 channels. That tells you how much data you need to transmit... If you multiply to find the bitrate (number of bits per second) that works-out to 1411 kbps for CDs. (The Nyqyust theory says you need at least 2 samples per cycle, so with a 44.1kHz sample rate, the audio bandwidth is limited to 22,050Hz.)
Depending on your application, you might need a buffer so that your CPU can go-off and do some other processing. But in that case, you need a transmission channel that can transfer in bursts faster
than the required/calculated average bitrate.