To use the WordPress API, you can use get_posts and specify orderby 'meta value' (where you specify the meta key to be the key of the associated date). Assuming your post type is called 'event' and the date custom field is called 'date':
$events=get_posts(
array ( 'post_type' => 'event',
'orderby' => 'meta_value',
'meta_key' => 'date' ) );
Or using WP_Query...
$query = new WP_Query(
array ( 'post_type' => 'event',
'orderby' => 'meta_value',
'meta_key' => 'date' ) );
The above will return all 'events', (past and future), so you may also wish to add a filter to get only future events. To do that, add the following entries into the above array:
'meta_value'=>'YYYY-MM-DD',
'meta_compare'=>'>='
(Assuming, that is, dates are stored in 'YYY-MM-DD' format. The above 'YYY-MM-DD' should be replaced with todays date in that format, e.g. '2012-01-16'.