I use either... "Cleared visual approach RW24, no descent restriction" or "Cleared visual approach RW24, maintain 3000' until cleared".
This seems a bit strange to me, why are you clearing an approach but then not enabling descent to the ground; would it not be better practice to say descend to 3000 feet and give tracking as required (or as you need); eg "fly heading 260, expect visual approach, maintain 3000' or 'track for final, expect visual approach, maintain 3000' etc; and then later clear the aircraft for the VSA; because in your second scenario you have to transmit again anyway.
Additionally if you say "no descent restriction" this may imply doubt about what the VSA means... It means unrestricted unless otherwise specified. (or does it)?