Сложно ли перейти с c++ на c#?
Очень сложно если ты недоджуниор, который и С++ еще не освоил. Просто потому что тебе собственно все еще надо учить все почти с нуля
А если ты мид/сеньор, то ты таких вопросов и задавать не будешь.
C C++ будет довольно легко перейти на похожий (критерии я здесь намеренно опущу) язык вроде C# или там Java. Как бы странно не звучало, но и наоборот будет легко перейти, если использовать современное подмножество языка C++ и современные же практики разработки.

Сложно может быть перейти с C++, скажем на что-то вроде Ruby/Pyhon, или JS, или что-нибудь функциональное вроде Scala. Но только при условии что у вас нет опыта с похожими языками и экосистемой вокруг них.

В общем же и целом, когда знаете несколько различных языков программирования, переключение и/или изучение новых особых проблем не вызывает. По крайней мере на начальных этапах. Если вдруг начать решать какие-то реально сложные задачи, то придётся изучать намного глубже и тратить время. Но это обычное дело.

Но с++ устаревший язык, да и вакансии мало(так говорят). 
Тут не совсем верно. C++ действительно старый язык и тянет за собой кучу "старья", от которого нельзя отказаться из-за политики обратной совместимости. Из-за этого есть куча проблем и с инструментами, и с экосистемой и с ABI, да и вообще много с чем. При этом, ни что (кроме старых проектов) не мешает пользоваться современным подмножеством языка и инструментами. Это всё равно ужасно, сравнивая с современными вещами и другими языками и их экосистемами, но хотя бы что-то.
Насчёт вакансий, это как всегда зависит от места поиска (вероятно, города, где вы живёте) и сферы. В целом, я бы сказал, что вакансий на C# и правда больше чем на C++, вопрос только, какие из них вам придётся по душе. Ведь можно же и в каком-нибудь "кровавом энтерпрайзе", за вполне себе приличные деньги постоянно портировать код на новую версию фреймворка и больше ничем не заниматься. Что звучит так себе.