It depends on what your current rank is. If you're a private or E1, it's usually done in formation, usually at the end of the day and it's usually unexpected. If you're a higher ranking NCO, you're expecting it because you've attended some classes or are already in a position that supports the higher rank. As a Commander, more often than not, the unit clerk came to me during the day and said that someone deserved a promotion because they met the minimum time in grade, had no performance problems, passed the PT test, etc., and if I wanted to I could promote them. I always promoted someone ASAP unless they had some problems. If they hadn't passed the PT test or were on the fatboy program, I called them in and used their promotion as a carrot to give them some motivation. It was just a matter of the clerk typing up the orders, me signing it, and I would get with the First Sergeant and we would get the rank from the Supply Sergeant and at the next formation, I'd call him up, have the First Sergeant read the orders while I pinned the rank on him, saluted him, and had him about face while the unit applauded. That was usually the way it worked from E1 to E4.
As an officer, again, you're expecting it because your file had to go before a review board, so you know months in advance whether or not you were approved or not. When I got promoted as an Officer, I knew several months in advance that I had been accepted but had to wait for the official orders or Federal Recognition to come in the mail before I could pin on the rank. My favorite promotion was being promoted to Captain. It was my favorite because for the first time I was actually saluted by another officer. Usually as a courtesy, 2nd Lieutenants do not salute and extend all courtesies to a 1st Lieutenant that are regarded to a higher ranking officer. Don't ask me why, it's just the way it was.