I would choose Frankfurt anytime.
MCT is 45 minutes and I have always made it, even when my incoming flight has been delayed, so has also my luggage, every single time.
Walking distances can be rather long though if you arrive at one pier and your flights departs from another.
In a nutshell: German efficiency!!
LHR can be a pain, especially if you have to change terminal.
CDG is pretty bad no matter if you change there or start/end your journey there, or just go there for whatever reason.
Terminal 1 looks like something between a concrete factory and a multi-storey car park.