2 to 3 weeks is plenty but you should take hydrometer readings to check and see when fermentations stops. After that it's up to you as far as how long you want to give the yeast to "clean-up".
I need a carboy cleaner because I'm a lazy bastard and my carboy has yeast poo all over it. Seriously though scrubbing that thing with a brush is a major PIA and one of those cleaners would come in handy.
I'm just a noob so you may want to wait for someone else to chime in but I would carefully re-areate the wort. If you didn't make a starter you may have underpitched which could also cause the lag.