Both are extremely good engines. All depends upon what is your purpose.
1kz being diesel engine will give you better fuel efficiency and low end torque. Its fuel efficiency with automatic transmission ranges from 7.5 to 8.5 km per litre in city ( Rwp/Isb - not that much jammed traffic ). While on long (motorways ) it does something about 10-11 km per litre. A looked after engine will not bring any frequent maintenance but its maintenance is a little expensive due to fewer mechanics of diesel engine. However, you will have to be a little catious regarding the diesel quality, that is, not very good in Pakistan due to high sulphur content that damages injectors. So you will have to find a good pump in order to get better quality diesel. If you can be cautious about diesel, nothing beats 1kz as it lives almost forever with quality maintenance.
On the other hand, 3400 cc engine makes less noise, less vibration and is therefore more comfortable. Its fuel efficiency ranges from 5-6 km per litre in the city and 7 km per litre on long. Just don’t expect any good fuel efficiency from it. Its maintainence is just like petrol vehicles, less costly. Its only drawback is its fuel efficiency. Other than that, it is very capable engine in terms of speed, performance and acceleration.