You can set default schemes for various types of color scales using chart.configure_range(). Here is an example:
import altair as alt
from vega_datasets import data
source = data.cars.url
alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower:Q',
y='Miles_per_Gallon:Q',
color='Origin:N',
).configure_range(
category={'scheme': 'dark2'}
)

If you want to do this via a theme rather than a config on the chart, it would look like this:
def my_theme():
return {
'config': {
'view': {'continuousHeight': 300, 'continuousWidth': 400}, # from the default theme
'range': {'category': {'scheme': 'dark2'}}
}
}
alt.themes.register('my_theme', my_theme)
alt.themes.enable('my_theme')
alt.Chart(source).mark_circle(size=60).encode(
x='Horsepower:Q',
y='Miles_per_Gallon:Q',
color='Origin:N',
)

The list of available color schemes can be found here: https://vega.github.io/vega/docs/schemes/#reference