Sanitize Custom Field Value in Meta Query

The strtotime() function is what you need here:

$date = date( 'Y-m-d', strtotime( $date ) ); //2015-04-10 with your example

Note that you will need to do this when you save those values, not when running the query. You can’t convert data that’s already in the database on the fly when running a query.

Edit:
I noticed an error in your meta query. This should work:

function wpd_date_meta_query( $query ) {
    if( $query->is_post_type_archive( 'event' ) && $query->is_main_query() ){
        $meta_query = array(
            array(
                'key' => '<your custom field name>',
                'value' => date( 'Y-m-d' ),
                'compare' => '>=',
                'type' => 'date'
            )
        );

        $query->set( 'meta_query', $meta_query );
        $query->set( 'meta_key', '<your custom field name>' );
        $query->set( 'orderby', 'meta_value' );
        $query->set( 'order', 'ASC' );
    }
}
add_action( 'pre_get_posts', 'wpd_date_meta_query' );