An IXYEventSource is a FeatureClass, so you can treat it (i.e copy it) like any other FeatureClass.
There are so many ways of doing this, but one of the easier ones it to use the IFeatureDataConverter::ConvertFeatureClass method. The description is confusing (some people interpret it that it only works on Personal GDBs - but it works for Enterprise GDBs, too).
Update: Another option is the SimpleDataConverter here is an slightly modified extract from some other code I wrote awhile back.
IFeatureClass m_pSourceDataset = myXYEventFC as IFeatureClass
IFeatureClass pSourceFeatureClass = m_pSourceDataset as IFeatureClass;
ISimpleDataConverter2 pDataConverter = new SimpleDataConverterClass();
pDataConverter.InputDatasetName = m_pSourceDataset.FullName as IDatasetName;
pDataConverter.InputQueryFilter = pInputQF;
pDataConverter.OutputFeatureDatasetName = pOutputFD.FullName as IFeatureDatasetName;
pDataConverter.OutputGeometryDef = pSourceFeatureClass.Fields.get_Field(pSourceFeatureClass.FindField(pSourceFeatureClass.ShapeFieldName)).GeometryDef;
pDataConverter.OutputFields = pSourceFeatureClass.Fields;
IEnumInvalidObject ipEnumInvalidObject = pDataConverter.Convert();
// Get the unqualified name of input FC and use it to open output fc
ISQLSyntax pSQLSyntax = pFWS as ISQLSyntax;
String strOwnerName, strTableName, strDBName;
pSQLSyntax.ParseTableName(m_pSourceDataset.Name, out strDBName, out strOwnerName, out strTableName);
IFeatureClass pOutputFC = pFWS.OpenFeatureClass(strTableName) as IFeatureClass;