I do it myself in google sketchup. Not totally perfect, but good enough that the client will know what the room will look like, and good enough of a rendering to build from.
The customers usually pick out their own carpet, they usually seem proud of themselves for contributing.
Colors are the hardest part. I have someone that puts together idea boards with different color combinations.