Here is a single-IC solution that gets you pretty close:

Notes
- V1 is your PWM-generating circuit. This should be low-impedance. Most microcontroller outputs would suffice, depending on the input impedance of your low-pass filter.
- R1 and C1 form the low-pass filter. You can make this as elaborate or as simple as you like. I chose simple.
- R4 is used to adjust the offset. If your input PWM is 0V to +3.3V and your desired output range is -10V to +10V, then 6.3k gets you pretty close.
- R6 and R5 are used to scale your voltage output after adjusting R4.
Adjusting the Circuit
If you need to adjust the circuit manually, I suggest that you short R5 to make a voltage-follower and adjust R4 until a 50% duty cycle gives an output voltage of 0V.
We can also use some maths to find our ciruit relationships. In this circuit, adjusting R4 is really adjusting the voltage divider of R1 and R4 so that
$$(\frac{V1_{max}}{2} - V_{neg})\frac{R_4}{R_1 + R_4} - V_{neg}= 0$$
Assuming V1 = 3.3V and Vneg = 10V:
$$(\frac{3.3V}{2} - 10V)\frac{R_4}{R_1 + R_4} - 10V = 0$$
$$(11.5V)\frac{R_4}{R_1 + R_4} - 10V = 0$$
$$\frac{R_4}{R_1 + R_4} = 0.8696$$
$$6.67R_1 = R_4$$
Once you get your offset adjusted, start adjusting R5 up until 100% duty cycle gets you 10V and 0% duty cycle gets -10V. Again, you should be able to calculate this step:
$$V_{out,max} = GV_{in,max} $$
Where 'G' is the opamp circuit gain and Vin,max is the maximum voltage on V+ (or the PWM at 100% duty cycle). In an inverting amplifier,
$$G = 1 + \frac{R5}{R6}$$
From this point, you should be able to use substitution and arrive at suitable values for R5 and R6.