Plone 3 offers a default dashboard for each user. The dashboard is composed by four columns which are portlet managers and the set of portlet assignments created by default are: news, events, recent items and review list. If you need to clean existing dashboards, you are on the good place!

Clean all existing dashboards

from zope.component import adapts, queryUtility
from plone.portlets.interfaces import IPortletManager
from plone.app.portlets.storage import UserPortletAssignmentMapping
from plone.portlets.constants import USER_CATEGORY

def cleanDashboardFor(userid):
    for name in ('plone.dashboard1', 'plone.dashboard2',
                 'plone.dashboard3', 'plone.dashboard4'):
        column = queryUtility(IPortletManager, name=name)
        if column is not None:
            category = column.get(USER_CATEGORY, None)
            if category is not None:
                manager = category.get(userid, None)
                if manager is not None:
                    # overrides the manager with an empty mapping
                    del category[userid]
                    category[userid] = \
                          UserPortletAssignmentMapping(manager=name,
                                                       category=USER_CATEGORY,
                                                       name=userid)

# Remove all portlets from the users's dashboards
for userid in plone.Members.objectIds():
    cleanDashboardFor(userid)