When a log switch occurs, NOT ALL dirty buffers (committed and uncommitted) are written to data files by the DBWn processes.

When a log switch occurs, a SLOW checkpoint is triggered.
There is a vast difference between SLOW checkpoint and FAST checkpoint which is triggered by "ALTER SYSTEM CHECKPOINT or ALTER TABLESPACE ... BEGIN BACKUP or ALTER TABLESPACE ...OFFLINE".

SLOW CHECKPOINT:
If Oracle is doing a SLOW checkpoint, the DBWR process stops to process the checkpoint when one of the two following conditions occurs:
1. If the threshold size of the DB_CHECKPOINT_BATCH_SIZE (number of buffers) is reached
2. When over 1000 buffers are scanned and a dirty buffer can't be found to write to disk.

The idea is to give less stress on the CPU and IO sub system.

FAST CHECKPOINT:
When Oracle is doing fast checkpoint, then the DBWR continues scanning all the buffers in the cache and writes the dirty buffers into disk. The DBWR will not stop until it scans all the buffers, thus causing much over head to CPU and IO sub system.

Before you start any backup or abort the instance under extreme ciscumstances, you must always do FAST CHECKPOINT.