Truncating Table Partitions Containing Data and Global Indexes
Are the 37 indexes you have on the table global indexes?
Option 1:
Where you truncate and then rebuild
This method is most appropriate if the partition that you are truncating has at least 10% of the total data in the table.  But rebuilding these 37 indexes is going to take time.
Option 2:
Where you delete and truncate the partition
The delete statement here updates any global indexes, fires triggers and generates redo and undo logs. To avoid the generation of logs and make this faster, Just before the deletion, you may alter the partition as
ALTER TABLE sales MODIFY PARTITION dec98 NOLOGGING;

and then proceed with deletion and truncation.  But for partitions containing a large percentage of the total data in table, this will still be slower
Option 3:
If you have a global index on the partition, UPDATE INDEXES will rebuild this index as well. Local Indexes are truncated automatically while partition truncate .
My suggestion here would be use Option 2 with NOLOGGING; as below,
ALTER TABLE sales MODIFY PARTITION dec98 NOLOGGING;
DELETE FROM sales PARTITION (dec98);
ALTER TABLE sales TRUNCATE PARTITION dec98 UPDATE INDEXES;