I would guess that a lot of people do it in a lot of different ways...some people will know each chord in any given key and will pick from those...other people will just do it by ear...
I kind of do it both ways...
One of the easiest things to do is to pick a chord you want to start on and then look at all of the chords in that key...
For example...if you start off with an E minor then the easiest thing to do is find out which chords work with the scale tones of the E minor scale
If you click on the following link and then scroll down to the E minor section it will give you all the chords that work in an E minor progression...
http://www.free-online-piano-lessons.com/scale-tone-chords-triads.html
In this case it would be
Em
F#dim
G
Am
Bm
C
D
I usually tend to ignore the diminished chord...this leaves 6 chords to choose from for your progression...they will all sound great together and you would be able to solo over those chords with an E minor pentatonic scale or natural minor and everything will sound great.
Hope this helps...