If you are nimble with python, I find you can use numpy and then convert back to a raster
ie use rastertonumpy array to get an array... do the tiling, then use numpyarraytoraster to get the rasters back. There is an np.array_split function that can be use. But in short, you could write a fairly simple function to split your array/raster with the desired overlap and convert back to rasters.
Not the best situation in your case, but you won't have to sit and wait
>>> import numpy as np
>>> a = np.arange(5*7).reshape(5,7)
>>> a
array([[ 0, 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12, 13],
[14, 15, 16, 17, 18, 19, 20],
[21, 22, 23, 24, 25, 26, 27],
[28, 29, 30, 31, 32, 33, 34]])
>>> a.shape
(5, 7)
>>> v, h = 3, 4
>>> a[:v, :h]
array([[ 0, 1, 2, 3],
[ 7, 8, 9, 10],
[14, 15, 16, 17]])
>>> a[v:, h:]
array([[25, 26, 27],
[32, 33, 34]])
>>> a[:v, h:]
array([[ 4, 5, 6],
[11, 12, 13],
[18, 19, 20]])
>>> a[v:, :h]
array([[21, 22, 23, 24],
[28, 29, 30, 31]])
>>>