Yep, have the same experience.
You are recommended to deactivate data_engine, do the delete, then activate data_engine. It's also suggested that if you are using UMP, that you bounce that too.
Database partitioning will help the process of deleting the oldest data and it gets you more parallelism options in the SQL query optimizer.
On the other hand, it's not well documented and if you have issues support will not be much help.
Also since partitioning is done by day, if you keep 180 days of data, that means that any tables go from having one partition to 180 which makes some of the functions that display table usage run slower.
Also, at least on MS SQL server, only 1000 partitions are allowed so you can only keep up to 985 days of data (partitioning creates 14 days into the future plus today).
-Garin