As most Revit users have found a custom curtain panel family can only be rectangular in shape. Anything that becomes non-rectangular will be replaced with a system panel, either empty or solid, as seen in the image below.
I have used several workarounds in the past depending on the panel being used. This week I recently decided to use a common family type that I use to solve alot of Revit limitations and that is the use of an adaptive component family. What I realized is that even when a panel is changed to the Empty System Panel type there are still 6 faces to this invisible element. Which means we can snap to any of those surfaces or corners. Plus a System Panel Solid is then changed to an Empty panel they both have 6 surfaces. I used the default System Panel Solid to snap my adaptive panel to, then I changed it out to and Empty panel the adaptive point stayed. If the grid lines move in the curtain wall design the adaptive panels will adjust with the changes. The only disadvantage is each panel will have to be replace manually by placing all the points.
In order to make the tedious process of placing the points on the panels and selecting the correct points I created a system panel that had a ridiculous offset (mine was 150mm, 6″) and another with a different offset. I then changed the panel types to alternate offsets.
Not saying this would be an ideal situation for hundreds of panels but if there are only a few dozen then it is a decent alternative.