The initial assignment has been made when you're hired, and you'll be sent to either Enroute or Terminal training. The split there occurs as they're hiring to fill a class, or just sending out names to facilities to pick from, or some other factor that they keep changing. The terminal option I believe they'll say class x will get to choose between the following facilities in order of how well they did in class. (How facilities get assigned is changed a lot, and I'm not positive how they're currently assigned).
If you go to a tower or a Tower/Tracon(up/down facility), then you'll go to the academy for the tower initial class. If you get assigned to a TRACON, you'll go to a tracon dedicated class. Enroute goes to an Enroute class. Each has their own lengths. If you're at an Tower/TRACON combined facility, you'll go through the Tower course in Oklahoma, and then go to your facility and get trained in the tower, once done there, you'll then be sent to Oklahoma again for the Radar course, and return to your facility for training in the TRACON.
A career in the US ATC system is generally what you make it. Enroute people generally stay at their centers, they don't move facilities as much, mainly as they're at the upper level facilities and at the top of the pay levels. People in the terminal environment move a lot more. In the past to move to the highest level towers, they often wanted to see a radar certification, or some other way to differentiate candidates. But things have changed recently, and I'm not sure how they're picking candidates fully now. Also you can changed tracks, from Terminal to Enroute or vice versa, but it's generally a less common move.