The best solution would be if Share Point team would provide us with out-of-box events for content approval. The events might be : Content Approving Status Changing and Content Approving Status Changed and the event argument’s After Properties and Before Properties values could be filled with the the old value and new value of Content Approving Status field value.
However, one may argue that Item Added/Item Update events are similar like Content Approval events. maybe there’s complexities with the new content approval events and Share Point team has not added the new content approval events.
Indeed, all asynchronous event can be defined as synchronous!
For this we must add the synchronization parameter to our xml definition.