I found that QCustomPlot::mousePressEvent() doesn't appear to every call event->accept() which is required for the QGraphicsProxyWidget() to work properly. If you subclass QCustomPlot() and override mousePressEvent() like below mouse interaction behaves like you'd expect.
void MyQCPlotWidget::mousePressEvent(QMouseEvent *event)
{
QCustomPlot::mousePressEvent(event);
event->accept();
}
The reason this only seems to affect the drag behavior is because the drag behavior depends on subsequent mouse events to be handled by the widget. Things like wheelEvent work because it's a single event, which does work when you don't accept the event.
I first attempted to fix this in the QCustomPlot source code and it wasn't working (which drove me crazy for a while) but it turns out I was calling event->accept() prior to QWidget::mousePressEvent(event) being called which must override the event's state (just guessing to why this didn't work, I didn't confirm what QWidget does). Doing the subclass ensured that the event was accepted and everything started working. This fix probably should be applied after calling QWidget::mousePressEvent() and should be applied to all the standard events that QCustomPlot handles to ensure it works properly when wrapped by QGraphicsProxyWidget when being placed into a QGraphicsScene. I suspect this would be a minor patch to QCustomPlot to get this working out of the box without the need to subclass.
I still do have some issues with tooltips only appearing for half a second before closing when QCustomPlot is wrapped in a QGraphicsProxyWidget, which may be related. I'm still troubleshooting that behavior.
Hopefully this helps.