Ok finally I figured how to get the updated value.
Override sendAction instead of sendEvent. Here you can get the event type as well as updated value for selectedSegmentIndex.
-(BOOL)sendAction:(SEL)action to:(id)target from:(id)sender forEvent:(UIEvent *)event
{
NSLog(@"%u",[((UIControl*)sender) allControlEvents]);
}