When (and if) Ethereum switches to proof of stake, how will the hash of blocks (most likely) be set?
The block hash will be set the same. It will be the hash of the roots, block timestamp, and other relevant data much like current block hash. The difference will be how it's generated, meaning it wont be generated by randomly changing a nonce, so there wont be economic incentive to not throwaway a block. Whoever creates the block will essentially be able to recreate blocks until they get a blockhash they like.