The sparking is a normal reaction of the speed controllers when making the final connection between the controller and battery pack. The sparking does worry a lot of people though and I always tell them that if it does not spark then that is when to be worried, however, if it does spark that is normal and nothing to worry about.
A fully charged 36 Volt battery pack will be at 39 Volt (13 Volts per battery x 3) so 36.7 Volts is a very low reading. At 36.7 Volts, presuming all of the batteries in the pack are discharged equally, each battery is at 12.23 Volts which is only a 65% state of charge.
34.6 Volts under load is 11.53 Volts per battery which is only a 10% state of charge and the scooter will drive very slow when the state of charge level is this low.
I would check the output Voltage of the battery charger when it is plugged into the wall and not plugged into the scooter, it should be at around 43.2 Volts. Be very careful not to short circuit the charger's output plug terminals if it has an XLR plug. If the charger is outputting less Voltage it could be causing the problem.
If the charger has the right output Voltage then the batteries might not be accepting a full charge and need to be replaced. You could try charging the battery pack for 48 hours in an attempt to equalize the battery cells and see if that helps. Chances are pretty good that they will need to be replaced though.
Razor 500 36v Fully charged battery 36.7 reading on multi meter indicator on throttle only shows yellow... red charge yellow getting low green full , turn on throttle up drives very slow ck w/ meter 34.6 v ... Also key off draw on battery when plugged back in to harness/ SPARK