I've spent a good amount of time playing around with this in PS and it's certainly possible to do, at least to my own satisfaction. Here's my process:
1. Create a 50% solid gray layer on top of your image
2. Filter > Add Noise > Check Monochromatic and Guassian, amount is up to you. (try 10-15%)
3. I like to add some blur to the noise to soften it. Filter > Blur > Guassian Blur > (something around 0.5-1.0)
4. Set this layer to "Linear Light" (yes, it looks bad, hang on)
5. Double-click the layer outside of the text area to bring up the Layer Style menu
6. At the bottom in the "blend if" section, find the white triangle on the right of the "underlying layer" gradient tool. Option-click and drag it to pull just the left half of the triangle down. This will smoothly decrease the strength of the grain on the highlights. How far down to take it is up to you. Somewhere between 1/2 and 1/4 down is where I like it.

7. Finally, set the opacity of this grain layer to taste.
Top is original image, bottom is with grain added as described here. This is at 100% opacity to demonstrate the effect, but I'd suggest turning it down.
Once you find the settings you like, make an action of this and even run it as a batch on your images.
There's lots of ways to build on this as well if you're into it. You can also create a few grain layers with varying size grains and blend them together. I sometimes like the look of scanned grain, and you can get that by first up-resing your image, then applying grain, flattening, and down-resing back to the original size. Doing this process separately on each layer of a color image is also pretty fun. I'm sure that Exposure and the like have some subtleties that aren't captured here, but I've always been able to scratch whatever itch I had with techniques like this. Hope this helps someone!