I was thinking about how this would work the other day... Especially as the more coaster (types) you add (to the game via planned updates I mean), the more complex they are to implement... And my conclusion was this:
1. A stand-alone scenery piece that is a ride camera. Controllable by the advance move grid.
2. Triggered by the Trigger Sequencer as long as (for coasters) it is within a certain distance of the train at the time of the trigger (so it isn't triggered just any-where in the circuit)
3. Desirability of the photo is based on the E or F rating of the coaster at the point of the trigger. The higher E or mid-range F the better.
4. New shop type to sell them, where you can select what rides the photos are available for - meaning that you can have a shop that sells the photos from all of the rides or one just from a single ride. BUT... This one creates a problem... How do you make it so that only guests who have ridden the ride buys the photo? One for the Dev team I guess..