I've done something pretty similar on my Arduino DSP - though it can only handle one effect at a time. It uses two pots, the left selecting the setting to change and the right changing that setting. There is a unified LFO with triangle/sine blending, clipping, min/max depth, speed, duty cycle, etc. using a lookup table held in RAM. If you put the max depth below the min, it'll lock to min (so you can zero the max and set the min where you want it) You can only select one effect at a time such as chorus/flanger/vibrato, distortion, reverb, tremolo, etc. but they all use the same configurable LFO. In the case of chorus, the LFO controls the sweep, while in distortion it controls the amount of distortion. The dry/wet mixers are also built into the program skeleton. I'm not using a DAC or ADC, instead using the integrated ADC and the PWM output and a smoothing filter. Although an Atmel's ADC is slow, you can tell it what to do and then process the last frame while it adjusts for solid performance and I'm using the busy wait cycle while the ADC works to update the LFO lookup table. It can be a bit awkward at times but having a good solid base to write other effects on makes it a lot easier to experiment.
Anyway, if you've never seen it, look at how a high end POD does it - a visual effects chain, very good stuff