I had this problem recently, and found the "managed object methods" of the PSXP_RPTDEFNMANAGER:ReportDefn class useful.
There are a bunch of methods for managing the report definition. I've only tried the Delete method, opting to delete and reconfigure the report definition with the new data source (there's also a SetDatasource method if you dare trying that).
This is the code I used:
import PSXP_RPTDEFNMANAGER:ReportDefn;
(create PSXP_RPTDEFNMANAGER:ReportDefn("REPORT_DEFN_ID")).Delete();