I am planning to write a migration script from ispconfig 2 to 3. If successfull, I will post updates here. I think this should be easy using remoting framework of both versions.
Currently I have two servers, and this should be the right time.
On v2 it will export all data to XML file and on v3 it will import the XML file.

It should be possible to migrate the data with the remote frameworks. On a ispconfig 2 server the passwords of email, ftp and ssh users are stored in /etc/shadow only, so you will have to get them from that file. The password hashes are compatible, so you can add the hashed passwords that you get from the shadow file to the ispconfig 3 database. The remote api requires cleartext passwords, so it might be nescessary to inject the apsswords in the database directly or we develop a extension for the remote API that detects if a password is hashed in crypt format that skips the encryption then. Feel free to contact me in the dev forum if you have any questions regarding the api.

I made some progress, but it is taking time,
on ISPConfig 2, I managed to export everything in one text file. I could not use SOAP or XML files, because I got errors.
on ISPConfig 3 side. I can remote connect and call functions.
First problem is field names exported from v2 does not match natively to v3, so I have to make a lookup table, currently I am doing this.
there is no function to create resellers in v3. this is not much problem, I can create them by hand.
I could not see functions to query clients, domains with some fields. For example If a client with same name exists, I need to update, if not add. In remote API I could not see a function to check this. Although I can query database.
It seems that, this will take some time but, it will be done