Ok here's what I mean with the Sylvester equation eigenvectors. The simplest case, where $C = D = I$, has already been solved in the literature (Matrix Calculus by W.H. Steeb).
$$A X + X B^\text{T}=\lambda X$$
The easiest way to solve it is by supposing that $\operatorname{rank} (X) = 1$, i.e. $X=u_k v_m^\text{T}$, and choosing $u_k$ and $v_m$ in such way that $Au_k=a_ku_k$ and $Bv_m=b_mv_m$. Now plugging this in the equation, we show that in fact that would be the solution
$$(Au_k)v_m^\text{T} + u_k (v_m^\text{T}B^\text{T})=\lambda u_k v_m^\text{T}$$
$$a_k(u_k v_m^\text{T}) + b_m(u_k v_m^\text{T})=\lambda u_k v_m^\text{T}$$
$$\lambda = a_k+b_m$$
Now we introduce $C$,
$$A X + X B^\text{T}=\lambda CX$$
You can think that we want to solve this by separation of variables. Again we propose $X=u_k v_m^\text{T}$.
$$A u_k v_m^\text{T} + u_k v_m^\text{T} B^\text{T}=\lambda C u_k v_m^\text{T}$$
We notice that $v_m^\text{T}$ is almost factored to the right, except on the second term of the LHS. To achieve this, let's say again that $Bv_m=b_mv_m$.
$$(A+b_m I) u_k v_m^\text{T}=\lambda C u_k v_m^\text{T}$$
The solution can be found by taking $u_k$ as the generalized eigenvectors of $(A+b_m I)$ with respect to $C$
$$(A+b_m I) u_k=\lambda C u_k$$
Now my question. Can I suppose that when $D$ is present, my solution will be rank 1? I already tried to separate the equations with very little success. Has anybody solved something similar before?