When you create your module from the option in the scene editor, it populates your mod's SubModule.xml file. One of its XmlNodes includes: <XmlName id="NPCCharacters" path="spnpccharacters"/> which tells the game to look in your mod's ModuleData folder for an xml called spnpccharacters.xml
If your spnpccharacters.xml only includes new troops or characters which are additional to those in ...\SandBoxCore\ModuleData\spnpccharacters.xml you don't need to do anything more and you'll get both sets in game.
If your spnpccharacters.xml includes edited troops or characters already in ...\SandBoxCore\ModuleData\spnpccharacters.xml it will overwrite all of the Sandboxcore entries apart from those relating to equipment where it will add your equipment to the Sandbox equipment, making a mess. To avoid this you need to use XSLT to delete the edited Sandboxcore troops or characters. That requires an spnpccharacters.xslt file in this format:
XML:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="NPCCharacter[@id='imperial_recruit']"/>
</xsl:stylesheet>
The first part down to </xsl:template> just tells the engine to omit the matches listed below. In this example, I've only deleted imperial_recruit. You just need to use that line and substitute the correct id. For several troops just list them under <xsl:template match="NPCCharacter[@id='imperial_recruit']"/> and before </xsl:stylesheet>
PS your spnpccharacters.xslt file needs to be in the same folder as your spnpccharacters.xml file (i.e. your mod's ModuleData folder unless you modify the path in your SubModule.xml).
PPS if you copied the whole of SandboxCore's spnpccharacters.xml to your ModuleData folder, you could use an XSLT like the example given in Taleworlds Documentation to replace all settlements rather than listing individual troops.