Using a pestle and mortar, mix the crushed garlic with a large pinch of salt, then add the lemon juice, ras el hanout, and olive oil. Pound to a rough paste.
With a sharp knife, make small incisions all over the lamb and put it in a deep roasting tin. Rub the paste all over, making sure you work it into the cuts. Leave at room temperature for at least an hour or in the fridge overnight for the flavor to develop further.
Heat the oven to 160°C/fan 140°C/gas 3. Scatter the onion wedges around the lamb, then cover tightly with foil. Roast for 3 ½ hours. Uncover, keeping the foil, stir the onions, and baste the lamb in the juices.
Turn the oven up to 180°C/fan 160°C/gas 4 and roast uncovered for 30 minutes to brown. Put the lamb and onions onto a warm serving platter or board.
Bring the kettle to the boil. Stir the couscous and raisins into the roasting tin so they are coated in the juices. Pour over enough boiling water to just cover the couscous, then put the foil back on and leave for 5 minutes.
Uncover, fluff up the couscous, stir through the chickpeas, herbs, and either preserved lemon or juice. Season to taste.Put the couscous in a warm serving bowl and bring it to the table with the lamb.