How can I add custom field to order by on the admin CP in Craft 3? I would like to add a custom field for order by on the drop down menu on admin CP. How can I do it, is there any event for this in Craft 3? 

It is a plugin related question, we are using custom plugin to customize our application
You can take a look at this question Set custom sort order for index pages in the CP? for Craft 2 and see updating Plugins for Craft 3 in the docs

// Old:
public function modifyEntrySortableAttributes(&amp;$attributes)
{
    $attributes['id'] = Craft::t('ID');
}

// New:
use craft\base\Element;
use craft\elements\Entry;
use craft\events\RegisterElementSortOptionsEvent;
use yii\base\Event;

Event::on(Entry::class, Element::EVENT_REGISTER_SORT_OPTIONS, function(RegisterElementSortOptionsEvent $event) {
    $event-&gt;sortOptions['id'] = \Craft::t('app', 'ID');
});


Keep in mind your field must be sortable via SQL