checking the code I can find that ticking Enable snapping on intersection
checkbox activate this callback
void QgsSnappingDialog::on_cbxEnableIntersectionSnappingCheckBox_stateChanged(
int state )
{
QgsProject::instance()-writeEntry( Digitizing,
/IntersectionSnapping, state == Qt::Checked );
I solved adding the same peace of code of the C++ apply method
in my case the code is
project = QgsProject.instance()
layerSnappingList = [layer1Id, later2Id]
layerSnappingEnabledList = [enabled, enabled]
layerSnappingToleranceUnitList = [0, 0]