Clark Rubber keep all sorts. Polystyrene is the white stuff that appears to be made of beads, and Polyurethane is the yellow stuff that can be soft for cushions or hard and makes a dust when cut, rather than beads like polystyrene.
A couple of places I found when searching for the stuff. Clark Rubber is expensive, and probably buys from these suppliers anyway.
Good place for free foam is to track down a place that makes cool rooms, there always got offcuts.
Then all ya do is rip the metal off the foam and shape the foam how you please is what i did and foam was good 6 inches thick so great for carving.
aquarium shops, fruit and veg shop, electrical outlets, $2 discount shops (ask someone inside, they are normally happy to help) the list is endless. I've never paid for polystyrene.