My 2 cents:
i) When UE is turned on
ii) UE tries to find the serving cell at every DRX cycle during Idle mode
iii) if UE does not find the serving cell withing a certain number of trials, it would start neighbour cell search (This neighbour cell search can be intra or inter. The interval between these neighbour cell search varies with DRX cycle and intra/inter frequency mode. Normally this search happen with N x DRX and 'N' varies with the situation. Refer to 36.304, 36.133 for the details).
iv) When UE is in Limited Service (e.g, SOS/Emergency Call only) : UE periodically try to search a suitable cells for normal service.
v) When UE is in OOC (Out of Coverage) : UE should try to re-scan the existing cell to see if it can get back to normal service or try to other cells to see if it get the normal service.
vii) When UE is in Roaming state (meaning that it is currently camped on to VPLMN cell), it should search HPLMN cell periodically (The period is usually N x 6 min, where N is specified in HPPLMN field in the USIM