There are a few different approaches when it comes to cleaning up the Windows 10 deployment.
I prefer to uninstall some built-in applications which my enterprise and customers have no need for.

The most common solutions are uninstalling the applications through PowerShell or AppLocker.

The script below will uninstall the specified packages in the current profile and the shared repository.

$AppsList = "Microsoft.BingFinance","Microsoft.SkypeApp","Microsoft.BingNews","Microsoft.XboxApp","Microsoft.MicrosoftSolitaireCollection","Microsoft.BingSports","Microsoft.ZuneMusic","Microsoft.ZuneVideo","Microsoft.MicrosoftOfficeHub","microsoft.windowscommunicationsapps","Microsoft.Getstarted","Microsoft.3DBuilder","Microsoft.Office.OneNote","Microsoft.windowsphone","Microsoft.people","Microsoft.xboxidendityprovider","Microsoft.Office.Sway","Microsoft.Messaging"
    ForEach ($App in $AppsList) 
    { 
        $PackageFullName = (Get-AppxPackage $App).PackageFullName
        $ProPackageFullName = (Get-AppxProvisionedPackage -online | where {$_.Displayname -eq $App}).PackageName
        
        If ($PackageFullName) 
        { 
            Write-Verbose "Removing Package: $App"
            remove-AppxPackage -package $PackageFullName 
        } 
        Else 
        { 
            Write-Host "Unable to find package: $App" 
        } 

        If ($ProPackageFullName) 
        { 
            Write-Verbose "Removing Provisioned Package: $ProPackageFullName"
            Remove-AppxProvisionedPackage -online -packagename $ProPackageFullName 
        } 
        Else 
        { 
            Write-Verbose "Unable to find provisioned package: $App" 
        }
    }

Many thanks to Jörgen Nilsson for the original article.