On states or show contact with a thing at rest.
Upon refers to things in motion.
Over refers to a point usually higher than a thing.
Above states to a point directly higher or more higher.
The difference is only that 'upon' is far more formal. You would rarely be incorrect using 'upon' instead of 'on'. The Oxford Dictionary says: Although the word upon has the same meaning as on, it is usually used in more formal contexts or in phrases such as once upon a time and row upon row of seats.