First, I woud put the top completely up or down. Then to troubleshoot I would read/erase all of the existing codes. Next I would operate the top. When the top quits moving continue to hold the switch until 2 minutes elapse or the light in the switch flashes -- whichever comes first. Now at this point there should be a diagnostic code stored in the controller identifying your problem.
The procedure for reading and erasing codes on your car is described here:
http://www.benzworld.org/forums/r129-sl-class/1266535-diagnostics-sl-pre-94-a.html? You simply need a wire or paper clip and an LED. Some LEDs have a built-in resistor so they can operate at 12VDC, which is what you want. If you use a typical LED that lacks the resistor, then you will need to have a 1K-ohm or similar resistor in series with the LED to limit the current and protect it from burning-out.